通常氛围,这种搜索是针对有序数据执行的。
字符 * 字[N]; //按父顺序排序的词库
发现整数;
字符 pat[32] = ""; // 输入字符串
int patLen = 0;
炭黑;
而(1)
{
printf("请输入第 %d 个字母:", patLen);
ch = getchar();
如果(ch == 13 || ch = EOF)继续; //读取错误
如果(isalpha(ch)== 0)中断; //输入非字符,结束
ch = tolower(ch);
pat[patLen++] = ch; //蒋输入的字符加入到搜索字符串中
pat[patLen] = 0;
found = search(word, pat, 0, N);
printf("你输入的单词是 %s\n查找的单词是 : %s", pat, word[found]);
}
// 递归搜索
char * search(char **table, char* pat, int l, int r)
{
如果((rl)== 1)返回r;
整数 m = (r - l) >> 1 + r;
如果(strcmp(表[m]unity c# 查询列表 字符串相似度排序,pat)<0)返回搜索(表,pat,m,r);
否则返回搜索(表,拍拍unity c# 查询列表 字符串相似度排序,l游戏素材下载 免费,m);
}
对于无序数据,应该先排序,再查找