關於插入排序及二分法查詢實用教程

2021-12-30 09:56:13 字數 694 閱讀 2618

/*1.從第乙個元素開始,該元素可以認為已經被排序;

2.取出下乙個元素,在已經排序的元素序列中從後向前掃瞄;

3.如果該元素(已排序)大於新元素,將該元素移到下一位置;

4.重複步驟3,直到找到已排序的元素小於或者等於新元素的位置;

5.將新元素插入到該位置後;

6.重複步驟2~5。

*/public class test4 ;

for (int i = 0; i j=i;

t=a[i+1];

while(a[j]>t&&j>=0)

a[j+1]=t;

}system.out.println(arrays.tostring(a));

system.out.println(search(16,a ));

}/*1.確定查詢範圍front=0,end=n-1,計算中項mid=(front+end)/2。

2.若a[mid]=x或front>=end,則結束查詢;否則,向下繼續。

3.若a[mid]x,說明待查詢的元素值只可能在比中項元素小的範圍內,則把mid-1的值賦給end,並重新計算mid,轉去執行步驟2。

*/public static int search(int num,int a) else if(a[middle] low=middle+1;

}else

}return notfind;}}

二分法插入排序

二分法插入排序 演算法思想簡單描述 在插入第i個元素時,對前面的0 i 1元素進行折半,先跟他們 中間的那個元素比,如果小,則對前半再進行折半,否則對後半 進行折半,直到left right,然後再把第i個元素前1位與目標位置之間 的所有元素後移,再把第i個元素放在目標位置上。二分法沒有排序,只有查...

二分法插入排序

二分法插入排序 演算法思想簡單描寫敘述 在插入第i個元素時,對前面的0 i 1元素進行折半,先跟他們 中間的那個元素比,假設小,則對前半再進行折半,否則對後半 進行折半,直到left right,然後再把第i個元素前1位與目標位置之間 的全部元素後移,再把第i個元素放在目標位置上。二分法沒有排序,僅...

排序 二分法插入排序

不同點 在尋找插入位置的時候採用二分法定位。二分法怎麼定位?執行結果 原陣列 21 8 2 18 0 9 27 12 5 24 第0次迴圈排序結果 8 21 2 18 0 9 27 12 5 24 第1次迴圈排序結果 2 8 21 18 0 9 27 12 5 24 第2次迴圈排序結果 2 8 18...