用c语言写一个字符串查找函数,不太会。

一个字符查找函数并返回其所在位置,要求使用二分法进行查找
int strFind(char * a1, char ch)
求大佬帮助!!!

3个回答

你确认是二分查找么?二分查找仅仅适合有序的数组,而字符串怎么可能是有序的呢?
int strFind(char * a1, char ch)
{
int i = 0;
while (*a1 != '\0') {
if (*a1 == ch) return i;
i++;
a1++;
}
return -1;
}

图片说明
函数修改:
图片说明
一般学校教的二分法是有序的从中间向两边查,我这里不是学校教的是从头尾向中间查,要从中间向两边查也可以,稍微改一下即可。

可以使用递归,我以前做过,如果没解决,可以给我发消息,我从电脑把代码给你。

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问
相关内容推荐