1.插入排序
public void Charu(int a[]){ int i,j,tmp; for(i=1;i<a.length;i++) { tmp=a[i]; for (j=i-1;j>=0&&a[j]>tmp;j--) { a[j+1]=a[j]; } a[j+1]=tmp; }2.简单选择排序
int index = 0; for (int i = 0;i<arr.length-1;i++) { index = i;//记录最小值的下标 for (int j=i+1;j<arr.length;j++) { if (arr[index]>arr[j]) index=j;//通过比较后面每个数和最小下标的大小,记录下标 } swap(arr,i,index);//将最小的数放在较小的下标下 }3.冒泡排序
for (int i=0;i<arr.length;i++) { for (int j=i+1;j<arr.length;j++) { if (arr[j-1]>arr[j]) swap(arr,j-1,j); } } }4.快速排序
private static void kuaiSu(int[] arr,int start,int end) { if (start>end) return; else { int key =divide(arr,start,end); kuaiSu(arr,start,key-1); kuaiSu(arr,key+1,end); } } private static int divide(int[] arr, int start, int end) { int index = end; while (start<end){ while (arr[start]<arr[index]&&start<end)//从前向后扫描 { ++start; } swap(arr,index,start); while (arr[end]>arr[index]&&start<end) {//从后向前扫描 --end; } swap(arr,index,end); } //扫描结束 return end; }