#include <stdio.h>
#include <stdlib.h>
void insertsort(int a[],int i);
void BinarySearch(int x,int f,int l,int a[]);
int main()
{
int a[100],x;
int i=1;
printf("输入数据");
while(scanf("%d",&a[i++])!=EOF)
{
;
}
i-=2;
insertsort(a,i);
/* for(x=1;x<=i;x++)
{
printf("%d\t",a[x]);
}
*/
printf("输入要查找的数");
scanf("%d",&x);
BinarySearch(x,1,i,a);
return 0;
}
void insertsort(int a[],int i)//插入排序验证成功
{
int m, n;
for(m=1;m<=i;m++)
{
a[0]=a[m];
n=m-1;
while(a[0]<a[n])
{
a[n+1]=a[n];
n--;
}
a[n+1]=a[0];
}
}
void BinarySearch(int x,int f,int l,int a[])
{
int m;
m=(l+f)/2;
if(a[m]==x)
{
printf("x的值在排序后第%d个元素\n",m);
}
else
{
if(a[m]>x)
{
BinarySearch(x,f,m-1,a);
}
else
{
BinarySearch(x,m+1,l,a);
}
}
}
二分查找
最新推荐文章于 2024-11-11 07:04:17 发布