【文件属性】:
文件名称:二分查找法
文件大小: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;
}