#include <iostream>using namespace std;char * search_word(char * word,char * dict[],int n){int low=0,high=n-1,mid,searchpos,wordlen=strlen(word);do{mid=(low+high)/2;searchpos=strnicmp(word,dict[mid],wordlen);if(searchpos==0)return dict[mid];else if(searchpos<0)high=mid+1;elselow=mid+1;}while(high>low);return NULL;}
3 回答

手掌心
TA贡献1942条经验 获得超3个赞
void main()
{
//注意dict内的单词必须是有序的,也就是从小到大(按字母顺序)。
char* dict[]={"abc","Defg","hijk","Lmn"};
char* p=search_word("hijk",dict,4);
if(p)
{
printf("找到了:%s\n",p);
}
else
{
printf("没找到!\n");
}
}
- 3 回答
- 0 关注
- 110 浏览
添加回答
举报
0/150
提交
取消