以文本方式查看主题

-  中文XML论坛 - 专业的XML技术讨论区  (http://bbs.xml.org.cn/index.asp)
--  『 C/C++编程思想 』  (http://bbs.xml.org.cn/list.asp?boardid=61)
----  [求助]请教一个C++问题  (http://bbs.xml.org.cn/dispbbs.asp?boardid=61&rootid=&id=64617)


--  作者:segeon
--  发布时间:7/14/2008 11:30:00 PM

--  [求助]请教一个C++问题
有这样一个题目:
编写函数int index(char *s,char *t),返回字符串t在字符串s中出现的最左边的位置。如果在s中没有与t匹配的字串,就返回-1

我还是不大清楚用指针来表示字符串时的用法,要是用字符串string类函数来表示就好办多了,直接用find就可以了。。。还请高手指点,谢谢


--  作者:xiaofengliang
--  发布时间:7/21/2008 1:28:00 PM

--  
回溯法搜索匹配的字符串,高程考试的书上有具体的例子。这个应该算是C的问题
--  作者:zliming
--  发布时间:8/16/2008 11:54:00 PM

--  
我还是不大清楚用指针来表示字符串时的用法,要是用字符串string类函数来表示就好办多了,直接用find就可以了。。。还请高手指点,谢谢

你可以在函数内部
const string src = s;
const string tf = t;
这样就知道怎么处理了


--  作者:enyaxp
--  发布时间:8/27/2008 8:31:00 PM

--  
int i = 0;
char *ptr1 = NULL;
char *ptr2 = NULL;

while(*s)
{
     ptr1 = s;
     ptr2 = t;

     while(*ptr2)
     {
         if(*ptr1++ != *ptr2++)
             break;
     }
     
     if(!(*ptr2))
         return i;
     
     i++;
     s++;
}

return -1;



--  作者:zhuerhua
--  发布时间:8/29/2008 3:42:00 PM

--  
用kmp算法呀,就是一个字符串匹配问题嘛
W 3 C h i n a ( since 2003 ) 旗 下 站 点
苏ICP备05006046号《全国人大常委会关于维护互联网安全的决定》《计算机信息网络国际联网安全保护管理办法》
46.875ms