排序

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 }       

 

posted @ 2022-03-04 14:33  Ging2000  阅读(15)  评论(0)    收藏  举报