java实现冒泡排序,选择排序,直接插入排序,快速排序
来源:互联网 发布:像果网络购物平台 编辑:程序博客网 时间:2024/06/04 07:33
复习下简单的排序算法,以免忘记,记录如下:
以下是冒泡排序算法实现
package com.cn.main;
//冒泡排序实现public class BubbleSort {
public static void main(String args[]) {
int[] values= {2,3,6,0,5,4,9,7};
sort(values);
for(int i=0;i<values.length;i++) {
System.out.println(values[i]);
}
}
public static void sort(int[] values) {
int temp;
for(int i=0;i<values.length;i++) {
for(int j=0;j<values.length-i-1;j++) {
if(values[j]>values[j+1]) {
temp=values[j];
values[j]=values[j+1];
values[j+1]=temp;
}
}
}
}
}
选择排序实现
public class SelectionSort {
public static void main(String args[]) {
int[] b= {7,2,9,3,8,4,6,1,5};
selectionSort(b);
for(int i:b) {
System.out.println(i);
}
}
public static void selectionSort(int[] a) {
int n=a.length;
for(int i=0;i<n;i++) {
int k=i;
//找出最小值的下标
for(int j=i+1;j<n;j++) {
if(a[j]<a[k]) {
k=j;
}
}
//将最小值置于排序序列尾部
if(k>i) {
int temp=a[i];
a[i]=a[k];
a[k]=temp;
}
}
}
}
直接插入排序
public class InsertSort {
public static void main(String args[]) {
int[] b= {7,2,9,3,8,4,6,1,5};
insertSort(b);
for(int i:b) {
System.out.println(i);
}
}
public static void insertSort(int[] values) {
int ln=values.length,v,j;
for(int i=1;i<ln;i++) {
v=values[i];
j=i-1;
while(j>=0&&values[j]>v) {
values[j+1]=values[j];
j=j-1;
values[j+1]=v;
}
}
}
}
快速排序
public class QuickSort {
public static void main(String args[]) {
int[] b= {7,2,9,3,8,4,6,1,5};
quickSort(b);
for(int i:b) {
System.out.println(i);
}
}
private static boolean isEmpty(int[] n) {
return n==null||n.length==0;
}
public static void quickSort(int[] n) {
if(isEmpty(n))
return;
quickSort(n,0,n.length-1);
}
public static void quickSort(int[] n,int l,int h) {
if(isEmpty(n))
return;
if(l<h) {
int pivot=partion(n,l,h);
quickSort(n,l,pivot-1);
quickSort(n,pivot+1,h);
}
}
private static int partion(int[] n,int start,int end) {
int temp=n[start];
while(start<end) {
while(n[end]>=temp&&start<end)
end--;
if(start<end) {
n[start++]=n[end];
}
while(n[start]<temp&&start<end)
start++;
if(start<end) {
n[end--]=n[start];
}
}
n[start]=temp;
return start;
}
}
- java实现各种基础排序(冒泡排序、快速排序、直接选择排序、堆排序、直接插入排序、归并排序)
- java实现冒泡排序,插入排序,选择排序,快速排序
- java实现冒泡排序,选择排序,直接插入排序,快速排序
- 冒泡排序、选择排序、直接插入排序(java实现)
- 冒泡排序、选择排序、插入排序、希尔排序、归并排序、快速排序、堆排序java实现
- Java 排序 快速排序 冒泡排序 选择排序 插入排序
- 编程实现直接插入排序、希尔排序、冒泡排序、快速排序、选择排序
- C++实现直接插入排序,折半插入排序,希尔排序,冒泡排序,简单选择排序,快速排序,堆排序
- Java实现排序(插入排序+冒泡排序+选择排序+ Shell排序+快速排序)
- java中各种常用排序实现(直接插入排序、直接选择排序、堆排序、冒泡排序、快速排序和归并排序)
- java实现冒泡,选择,插入,快速排序
- 冒泡排序 快速排序 选择排序 堆排序 直接插入排序 希尔排序 归并排序
- Java基础篇之----排序(快速排序、冒泡排序、堆排序、简单选择排序、 希尔排序、直接插入排序)
- 直接插入排序 + 希尔排序+ 冒泡排序+ 快速排序 + 直接选择排序 + 堆排序
- 选择排序&插入排序&冒泡排序&快速排序算法实现
- python 实现插入排序,冒泡排序,快速排序,选择排序
- 排序学习(直接插入排序,折半插入排序,冒泡排序,快速排序,简单选择排序)
- 冒泡排序-直接选择排序-直接插入排序-希尔排序-java实现
- 神经网络API、Kotlin支持,那些你必须了解的Android 8.1预览版和Android Studio 3.0新特性
- JVM常见面试题深度总结
- 如何用java线程池做分批次查询处理 java线程池ThreadPoolExecutor的使用
- 链家数据爬取+地图找房
- androidstudio ftp发布apk
- java实现冒泡排序,选择排序,直接插入排序,快速排序
- Webpack经典入门
- SDUT-2713 多级派生类的构造函数
- 科普丨DNA机器人的技术研究
- 干货丨吴恩达深度学习课程的思维导图总结
- 专访丨周志华:深度学习理论探讨比应用滞后太多
- 奇异值分解(SVD)原理详解及推导
- Memcache缓存的使用
- Git中遇到的SSH错误