二分
作者:
把头发掀起来看世界
,
2024-11-15 15:03:34
,
所有人可见
,
阅读 4
#include <iostream>
using namespace std;
void insert_sort(int a[],int n)
{
for(int i=1;i<n;i++)
{
int t=a[i],j=i;
while(j && a[j-1]>t)
{
a[j]=a[j-1];
j--;
}
a[j]=t;
}
}
int binary_search(int a[],int n,int x)
{
int l=0,h=n-1;
while(l<=h)
{
int mid=(l+h)/2;
if(a[mid]==x)
return mid;
else if(a[mid]<x) l=mid+1;
else h=mid-1;
}
return -1;
}
int main()
{
int a[8]={3,5,2,8,4,6,1,7};
int n=sizeof(a)/sizeof(a[0]);
for(int i=0;i<n;i++)
cout<<a[i]<<' ';
cout<<endl;
insert_sort(a,n);
int res=binary_search(a,n,10);
if(res!=-1)cout<<res<<endl;
else cout<<"查找失败"<<endl;
return 0;
}