冒泡排序、选择排序、插入排序
public class Demo5 { public static void main(String[] args) { int a[]={10,20,88,9,30,50,31,19}; /*Demo5.sort2(a);*/ for (int i : a) { System.out.print(i+","); } System.out.println(); Demo5.sort4(a); for (int j : a) { System.out.print(j+","); } } //冒泡排序1 public static void sort(int a[]){ int temp=0; for(int i=0;i<a.length-1;i++){ for(int j=0;j<a.length-i-1;j++){ if(a[j+1]<a[j]){ temp=a[j+1]; a[j+1]=a[j]; a[j]=temp; } } } } //冒泡排序2 public static void sort2(int a[]){ int temp=0; for(int i=0;i<a.length-1;i++){ int flag=0; for(int j=0;j<a.length-1;j++){ if(a[j+1]<a[j]){ temp=a[j+1]; a[j+1]=a[j]; a[j]=temp; flag=1; } } if(flag==0){break;} } } //选择排序 public static void sort3(int a[]){ int temp=0; for(int i=0;i<a.length-1;i++){ int minIndex=i; for(int j=i+1;j<a.length;j++){ if(a[minIndex]>a[j]){ minIndex=j; } } if(minIndex!=i){ temp=a[minIndex]; a[minIndex]=a[i]; a[i]=temp; } } } //插入排序 public static void sort4(int a[]){ for (int i = 1; i < a.length; i++) { if (a[i - 1] > a[i]) { int temp = a[i]; int j = i; while (j > 0 && a[j - 1] > temp) { a[j] = a[j - 1]; j--; } a[j] = temp; } } } }