使用char数组的C++二进制搜索
C++ binary search with char array
所以我有竞争对手的结构。我使用二进制搜索来按竞争对手的姓氏进行搜索。这是代码:
int binary(tekmovalec abc[], int n, char x[20])
{
int start = 0;
int end = n-1;
int a= strlen(x);
while(start <=end)
{
int mid = (start+end)/2;
if(abc[mid].surName[0]== x[0])
{
print(tekmovalci[mid]);
return mid;
}
else if(x[0]<abc[mid].surName[0])
{
end = mid -1;
}
else
{start = mid +1;}
}
return -1;
}
我有一个问题,该函数只检查姓氏的第一个字母和输入数组,所以如果姓氏是Obrien,用户输入是"Obrb",它会打印Obrien。我不知道如何扩展功能来检查用户输入的所有字母。非常感谢。
使用strcmp
比较循环中的字符串。
int res = strcmp(x, abc[mid].surName);
if(!res)
{
print(tekmovalci[mid]);
return mid;
}
else if(res < 0)
{
end = mid -1;
}
else
{start = mid +1;}
相关文章:
- 有根的二进制搜索树.保留与其父级的链接
- cpp二进制搜索问题,计算给定数组中输入元素的出现次数
- 二进制搜索树叶数问题
- 为什么二进制搜索在我的测试中不起作用
- 正在尝试重载二进制搜索树分配运算符
- 我的二进制搜索程序只是关闭了
- 二进制搜索的终止点
- 递归二进制搜索与字符串数组
- 测试树是否为二进制搜索树
- 如何二进制搜索结构向量并在适当的索引处插入
- 如果你有一个固定大小的数组,你需要遍历它!n次,使用二进制搜索如何改变时间复杂性
- 字符串的递归二进制搜索-C++
- 使用二进制搜索树中的迭代器对象访问左侧节点
- 二进制搜索树没有匹配的函数调用
- 二进制搜索不适用于特定输出
- 如何在向量上进行二进制搜索以找到具有特定id的元素
- 二进制搜索树不变的标头文件
- 二进制搜索树插入带参数参考
- 二进制搜索不变以查找元素的首次出现
- 了解一种神秘地起作用的递归二进制搜索算法