二分法插入排序,就是鎖定左右區間在區間內一步一步縮小,從而找到合適的位置
就是將小區間排序,然後一步一步堆疊起來就可以了
核心的找位置是這樣的
要是中間的數大於索要比較的數,就將最高限改為中間位置的前乙個
要是中間數小於所要比較的數,就將最低位改為中間位置後乙個,
後面的反覆以往就可以
直到,最高位等於最低位,說明找到了要插入的位置
下面直接上**
#includeint a[10]=;
main()
if(end//如果說當前的兩數不相等或者上限小於當前的有序隊
t=a[i];
for(j=k-1;j>=start;j--)//所有的當前資料後移
a[j+1]=a[j];
a[end]=t;
k++; //擴大要排序的區間
} }for(int m=0;m
排序 二分法插入排序
不同點 在尋找插入位置的時候採用二分法定位。二分法怎麼定位?執行結果 原陣列 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...
二分法插入排序
二分法插入排序 演算法思想簡單描述 在插入第i個元素時,對前面的0 i 1元素進行折半,先跟他們 中間的那個元素比,如果小,則對前半再進行折半,否則對後半 進行折半,直到left right,然後再把第i個元素前1位與目標位置之間 的所有元素後移,再把第i個元素放在目標位置上。二分法沒有排序,只有查...
二分法插入排序
二分法插入排序 演算法思想簡單描寫敘述 在插入第i個元素時,對前面的0 i 1元素進行折半,先跟他們 中間的那個元素比,假設小,則對前半再進行折半,否則對後半 進行折半,直到left right,然後再把第i個元素前1位與目標位置之間 的全部元素後移,再把第i個元素放在目標位置上。二分法沒有排序,僅...