折半查找

来源:互联网 发布:淘宝退货运费规则 编辑:程序博客网 时间:2024/06/03 01:25
//二分法查找int as_bi_search(int a[],int n,int e)//数组升序排列{int mid;int left = 0;int right = n - 1;while(left < right){mid = (left + right) / 2;if(e == a[mid]){return mid ;}if(e<a[mid]){left = mid + 1;}if(e>a[mid]){right = mid - 1;}}return mid;}int de_bi_search(int a[],int n,int e)//数组降序排列{int mid;int left = 0;int right = n - 1;while(left < right){mid = (left + right) / 2;if(e == a[mid]){return mid ;}if(e>a[mid]){left = mid + 1;}if(e<a[mid]){right = mid - 1;}}return mid;}int main(){int a[] = {11,10,9,8,7,6,5,4,3,2,1};    int n = sizeof(a)/sizeof(a[0]);//数组长度int ret = de_bi_search(a,11,6);printf("%d\n",a[ret]);printf("%d\n",ret);return 0;}//折半查找;前题条件必须是有序数组,并且按照一定的顺序排好顺序

0 0
原创粉丝点击