递归与分治2

来源:互联网 发布:cdo 首席数据官 编辑:程序博客网 时间:2024/05/17 03:58
#include<stdio.h>/*递归 实现折半查找*///普通折半查找int binSearch_Normal(int A[],int n,int e){int low = 0,high = n-1,mid;while(low <= high){mid = (low + high) / 2;if(A[mid] == e)return mid;if(e > A[mid])low = mid + 1;elsehigh = mid - 1;}return -1;}//递归折半查找int binSearch(int A[],int low,int high,int e){int mid;if(low > high) return -1;else{mid = (low + high) / 2;if(A[mid] == e)return mid;else if(e > A[mid])return binSearch(A,mid+1,high,e);elsereturn binSearch(A,low,mid-1,e);}}int main(){int n,index;int A[10] = {2,3,4,5,6,7,8,9,10,13};scanf("%d",&n);index = binSearch(A,0,9,n);if(index==-1)printf("can not find\n");elseprintf("find,index is %d\n",index);return 0;}

原创粉丝点击