排序
1. 选择排序 (就是选择出1个数来,把它和后面的每个数都比较)
1 for (int i = 0; i < a.length; i ++) { 2 for (int j = i + 1; j < a.length; j ++) { 3 if (a[i] > a[j]) { 4 int tmp = a[i]; 5 a[i] = a[j]; 6 a[j] = tmp; 7 } 8 } 9 }
改进版本
1 public static void SelectionSort(int[] a) { 2 for (int i = 0; i < a.length; i ++) { 3 int k = i; 4 for (int j = i + 1; j < a.length; j ++) { 5 if (a[k] > a[j]) 6 k = j; // 重点在这一步 7 } 8 9 if (k != i) { 10 int tmp = a[i]; 11 a[i] = a[k]; 12 a[k] = tmp; 13 } 14 } 15 }
2. 冒泡排序
1 public static void BubbleSort(int[] a) { 2 int tmp = 0; 3 for (int i = a.length - 1; i > 0; i --) { 4 for (int j = 0; j < i ; j ++) { 5 if (a[j] > a[j + 1]) { 6 tmp = a[j]; 7 a[j] = a[j + 1]; 8 a[j + 1] = tmp; 9 } 10 } 11 } 12 }

浙公网安备 33010602011771号