首页 > 代码库 > Java中的各种排序Sort

Java中的各种排序Sort

冒泡排序:

 1 /**
 2  * @param arr
 3  * @return
 4  * @description 冒泡排序
 5  * @author paul
 6  * @date 2017年5月30日 下午9:49:35
 7  * @update 2017年5月30日 下午9:49:35
 8  * @version V1.0
 9  */
10 public static int[] bubbleSort(int[] arr) {
11     //数据长度只有1,则本身就是有序的
12     if (arr.length == 1)
13         return arr;
14     for (int i=0; i<arr.length-1; i++) {
15         //没有进行交换表示数组已经为有序状态,可提前结束循环
16         boolean isOver = true;
17         for (int j=0; j<arr.length-1; j++) {
18             if (arr[j] > arr[j+1]) {
19                 int temp = arr[j];
20                 arr[j] = arr[j+1];
21                 arr[j+1] = temp;
22                 isOver = false;
23             }
24         }
25         if (isOver)
26             break;
27     }
28     return arr;
29 }

插入排序:

 1 /**
 2  * @param arr
 3  * @return
 4  * @description 插入排序
 5  * @author paul
 6  * @date 2017年5月30日 下午10:09:52
 7  * @update 2017年5月30日 下午10:09:52
 8  * @version V1.0
 9  */
10 public static int[] insertSort(int[] arr) {
11     //数据长度只有1,则本身就是有序的
12     if (arr.length == 1)
13         return arr;
14     for (int i=1; i<arr.length; i++) {
15         for (int j=i; j>0; j--) {
16             if (arr[j] < arr[j-1]) {
17                 int temp = arr[j];
18                 arr[j] = arr[j-1];
19                 arr[j-1] = temp;
20             }
21         }
22     }
23     return arr;
24 }

 

Java中的各种排序Sort