java-数组排序--插入排序

插入排序 - 方式一

方法将待排序数持续向左移动,直到待排序数不再大于前一个数

 1     public static void insertSort(int[] arr) {
 2         
 3         for (int i = 0; i < arr.length; i++) {
 4             for (int j = i; j > 0; j--) {
 5                 if(arr[j]<arr[j-1]) {
 6                     int tmp=arr[j];
 7                     arr[j]=arr[j-1];
 8                     arr[j-1]=tmp;
 9                 }
10             }
11         }
12     }


插入排序 - 方式二

思想与上面的相同,只是方法避免了重复多次的相邻数据的交换,只在最后一步将待排序树插入到合适位置

 1     public static void insertSortTwo(int[] arr) {
 2         
 3         for (int i = 0; i < arr.length; i++) {
 4             int j = i;
 5             int tmp=arr[i];
 6             for (; j > 0 && tmp<arr[j-1]; j--) {
 7                 arr[j]=arr[j-1];
 8             }
 9             arr[j]=tmp;
10         }
11     }

先插入代码,以后在做进一步整理

猜你喜欢

转载自www.cnblogs.com/wangbingc/p/10173098.html
今日推荐