使用命名空間std
int BinarySearch( int* array,int value,int len)
{
int low = 0,high = len-1;
while(low & lt;=高)
{
int middle =(低+高)/2;
if( value == array[ middle ])
{
返回中間;
}
else if(value & gt;數組[中間])
{
低=中+1;
}
其他
{
高=中-1;
}
}
return-1;
}
int main()
{
int array[10] = { -6,-4,1,3,8,9,11,12,14,0 };
int length = sizeof(數組)/sizeof(int);
int num
cout & lt& lt”輸入要搜索的編號:“;
CIN & gt;& gtnum
int result = BinarySearch( array,num,length-1);//數組長度為10,但搜索中只涉及前9個元素。自由長度用於插入元素。
if( -1!=結果)
{
cout & lt& lt"數字的索引" & lt& ltnum & lt& lt“是”& lt& lt結果& lt& ltendl
}
其他
{
int I = length-1;
而(我!= 0 & amp& amparray[ i - 1 ]>Num) //插入排序
{
array[I]= array[-I];
}
array[I]= num;
cout & lt& lt"數字" & lt& ltnum & lt& lt“不存在。插入數字後的數組:\ n ";
for(I = 0;我& lt長度;++i)
{
cout & lt& ltarray[I]& lt;& lt" ";
}
cout & lt& ltendl
}
系統(“暫停”);
}