数据结构 字符串二分查找正确实现

来源:互联网 发布:cisco 端口隔离 编辑:程序博客网 时间:2024/04/30 08:11
#include<stdio.h>
#include<string.h>

int BinarySearch(char **ch,int low, int high,char *e)
{
int mid = -1;
while(low < high-1)
{
mid = low + (high - low)/2;
if(strcmp(ch[mid],e)<=0)
low = mid;
else
high = mid;
}
if(strcmp(ch[high],e) == 0)
return high;
else if (strcmp(ch[low],e) == 0)
return low;
else
return -1;
}


int main()
{
char *ch[10] = {"aa","bb","cc","dd"};
char *e= "cc";
printf("src: ");
for(int i=0;i<4;i++)
printf("%s ",ch[i]);
printf(". des: %s\n",e);
printf("%d\n",BinarySearch(ch,0,3,e));
return 0;

}

运行结果:


0 0
原创粉丝点击