递归算法编写StrStr

Y神圣 2009-08-17 01:56:54
数据结构学的最不好的就是递归,可能是自己思维模式还没有培养好,目前遇到这样的算法:请用递归算法写出strstr(),想了很久,没有结果,请大家帮忙。
...全文
100 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
Y神圣 2009-09-01
  • 打赏
  • 举报
回复
自己顶。
mnchyhzzhh 2009-08-18
  • 打赏
  • 举报
回复
[Quote=引用楼主 erac 的回复:]
数据结构学的最不好的就是递归,可能是自己思维模式还没有培养好,目前遇到这样的算法:请用递归算法写出strstr(),想了很久,没有结果,请大家帮忙。
[/Quote]


int strstr(const char *str, char c)
{
int p = 0;

if (!*str)
return -1;
else if (*str == c)
return 0;
else
p = strstr(str + 1, c);

return (p == -1 ? p : p + 1);
}
Y神圣 2009-08-18
  • 打赏
  • 举报
回复
strchr这个递归是很容易写的。关键是strstr哈。原型是strstr(char* pString,const char* pCharset)
fatiezhe 2009-08-18
  • 打赏
  • 举报
回复
如果函数原型为int strstr(char *str,char c)的话,每次考察第0个字符是不是要找的那个,如果是的话返回0,否则返回strstr(str+1,c)+1

3,881

社区成员

发帖
与我相关
我的任务
社区描述
C/C++ 其它技术问题
社区管理员
  • 其它技术问题社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧