1. 程式人生 > >java-陣列排序--插入排序

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 }

 

 


 

先插入程式碼,以後在做進一步整理