Java之数组的简单排序(选择,冒泡,插入)
1.冒泡排序
/** * 冒泡排序 * @param a */ public void sort(int a[]) { System.out.println("bubble_sort:");//将最大的数字冒泡到最后 for(int i = 0;i < a.length;i++) { for(int j = 0;j < a.length - i -1;j++) { if(a[j] > a[j + 1]) { int temp = a[j]; a[j] = a[j + 1]; a[j + 1] = temp; } } } showArray(a); }
2.选择排序
/** * 选择排序 * 先选择一个最大的放在最后,再从剩下的当中选择最大的放在倒数第二位 * 以此类推 * @param a */ public void sort(int a[]) { System.out.println("select_sort:"); for(int i = 1;i < a.length;i++) { int max = 0;//初始max设置为0 for(int j = 1;j <= a.length - i;j++) { if(a[j] > a[max])//刷新最大值 max = j; } //System.out.println("max = " + a[max]); int temp = a[max];//此时max保存的就是最大值 a[max] = a[a.length - i]; a[a.length - i] = temp; } showArray(a); }
3.插入排序
/** * 插入排序 * @param a */ public void sort(int a[]) { System.out.println("Insert_Sort:"); for(int i = 0;i < a.length;i++) { for(int j = i;j > 0;j--) { if(a[j] < a[j-1]) { int temp = a[j]; a[j] = a[j-1]; a[j-1] = temp; } } } showArray(a); }