整 压位(向量<整>&呀,整 a){//呀按从大到小排序.
整 i=0,j=呀.大小(),m=(i+j)/2,k;
如(!j)中 0;//要加上这句,不要忘记了,否则,要掉坑的.
如(a<=呀.后())中 j;//最右边
如(a>=呀[0])中 0;//最左边
当(1){//m为中间,从j往前走,要测试一下.
k=呀[m];
如(k>a)i=m;异 如(k<a)j=m;
异 中 m;//i为左,j为右.
m=(i+j)/2;如(i+1==m||m+1==j)中 m;
}//67,45,32,二分法.
}//用逆序的
这是懒人
的二分法.主要是不折腾
.太难的,也不必去搞.就这样吧.
最适合,像我这样,一点都不熟练排序
的人用.不麻烦.
先判断两边
是否越界.然后在中间,比大小.根据大小,来控制i/j
.然后只要中间的m
与i/j
挨着时,就算找到位置了.这就是懒人
找位法.