/*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...