二分查找法

时间:2015-07-07 14:16:09
【文件属性】:
文件名称:二分查找法
文件大小:1KB
文件格式:CPP
更新时间:2015-07-07 14:16:09
二分查找法(可执行) #include #define MAXL 100 /*定义表中最多记录个数*/ typedef int KeyType; typedef char InfoType[10]; typedef struct { KeyType key; /*KeyType为关键字的数据类型*/ InfoType data; /*其他数据*/ } NodeType; typedef NodeType SeqList[MAXL]; /*顺序表类型*/ int BinSearch(SeqList R,int n,KeyType k) /*二分查找算法*/ { int low=0,high=n-1,mid,count=0; while (low<=high) { mid=(low+high)/2; printf("第%d次查找:在[%d,%d]中查找到元素R[%d]:%d\n",++count,low,high,mid,R[mid].key); if (R[mid].key==k) /*查找成功返回*/ return mid; if (R[mid].key>k) /*继续在R[low..mid-1]中查找*/ high=mid-1; else low=mid+1; /*继续在R[mid+1..high]中查找*/ } return -1; }

网友评论