- #include <stdio.h>
- #include <stdlib.h>
- void main()
- {
- int y, b;
- const int a[](11,21,31,41,50);
- printf("输入查找关键字:");
- scanf("%d",&y);
- b=binary(a[],y,5);
- if(b!=-1)
- printf("关键字在数组中为a[%d]",b);
- else
- printf("数组中无此数!");
- }
- //线性查找函数
- //n:给定数组的有效长度
- //y:查找关键字
- int binary(const int A[],int c, int n)
- {
- int middle=0;
- int low=0;
- int hight=n;
- while(low<=hight){
- middle=(low+hight)/2;
- if(A[middle]==c)
- return middle;
- else if(A[middle]>c)
- hight=middle;
- else low=middle;
- }
- return-1;
- }
-
复制代码 |