数组排序 - 冒泡排序

冒泡排序

方案一:

外层循环递增,

 1 /*
 2   冒泡排序
 3   内循环
 4   -1:为了避免索引越界
 5   -x:为了让外循环增加一次,内循环参数与比较的元素个数递减
 6 */
 7 public static void bubbleSort(int[] arr)
 8 {
 9   for(int x = 0; x < arr.length - 1; x++)
10   {
11     for(int y = 0; y < arr.length - 1 - x; y++)
12     {
13       if(arr[y] > arr[y + 1])
14       {
15         int temp = arr[y];
16         arr[y] = arr[y + 1];
17         arr[y + 1] = temp;
18       }
19     }
20   }
21 }

方案二:

外层循环递减

 1 public static void bubbleSort(int[] arr)
 2 {
 3   for(int x = arr.length - 1; x > 0; x--)
 4   {
 5     for(int y = 0; y < x; y++)
 6     {
 7       if(arr[y] > arr[y + 1])
 8       {
 9         int temp = arr[y];
10         arr[y] = arr[y + 1];
11         arr[y + 1] = temp;
12       }
13     }
14   }
15 }

猜你喜欢

转载自www.cnblogs.com/xifengbuqi/p/9141496.html