看见一篇文章说只有10%的专业程序员才能一次性写出无bug 二分查找算法,确实额~ 第一次写也出了点小问题
- /*---------------------------------------------------------
- 二分查找
- 给定要查找的数组,返回想要查找的第K个元素
- by zx_ace@sina.com
- ---------------------------------------------------------*/
- #include<stdio.h>
- int fen(int x[],int n,int k )
- {
-
- int m=n/2;
- int a;
- if(k==m)
- return *(x+k-1);
- while(k!=m)
- {
- if(k>m)
- {
-
- a=m+1;
- m=(a+n)/2;;
- }
- if(k<m)
- {
- a=0;
- n=m;
- m=(a+n)/2;;
- }
- }
- return *(x+k-1);
-
- }
- int main()
- {
- int a[10]={66,22,11,44,77,
- 88,33,22,11,88};
- int b=fen(a,10,7);
- printf("%d\n",b);
- return 0;
- }
阅读(1415) | 评论(0) | 转发(0) |