一、冒泡排序
public static void bubblesort(int[] a){ for(int i=a.length;i>0;i--){ for(int j=1;j<i;j++){ if(a[j]<a[j-1]){ int tmp = a[j]; a[j] = a[j-1]; a[j-1] =tmp; } } } }
二、选择排序
public static void selectsort(int[] a){ int t = 0; for(int i=0;i<a.length;i++){ int tmp = i; for(int j=i+1;j<a.length;j++){ if(a[j]<a[tmp]){ tmp =j; } } t = a[tmp]; a[tmp] = a[i]; a[i] = t; } }
三、插入排序
public static void insertsort(int[] a){ for(int i=1;i<a.length;i++){ for(int j=i;j>0 && a[j]<a[j-1];j--){ int t = a[j]; a[j] = a[j-1]; a[j-1] = t; } } }
四、快速排序
public static void quicksort(int[] a, int left, int right) { if(left<right){ int key = a[left]; int low = left; int high = right; while(low<high){ while(low<high && a[high]>=key){ high--; } a[low] = a[high]; while(low<high && a[low]<=key){ low++; } a[high] = a[low]; } a[low] = key; quicksort(a, left, low -1); quicksort(a, low + 1, right); } }