字符串查找
日期: 2020-11-26 分类: 跨站数据测试 435次阅读
高中我们都学过蛋白质的合成,就像这个,是不是又想起被生物支配的恐惧了。
他们都采用向前推进的方式来查找是不是这个“碱基对”相互匹配。
假定被查找的字符串为P[i],需查找的字符串为S[j]。直接上图
最开始的是他们是这样的
由于他们首字符不匹配,所以只进行i++。
直到他们找到首字符得以匹配。这时让被查找字符串P[i]和S[i]字符串同时向前推进,判断他们接下来是否字符匹配
如果匹配,就接着继续下去
直到遇到不匹配的字符停止
原理很简单,下面是代码:
int search(char* s, char* p)
{
int i = 0, j = 0,len=0;
int sLen = strlen(s);
while (i < sLen && j < pLen)
{
if (s[i] == p[j])
{
i++;
j++;
len++;
}
else
{
i++;
}
if (len == sLen)
{
return (i - sLen);//返回他的首地址(第几个字符)
}
}
return 0;//要是没有就返回0
};
除特别声明,本站所有文章均为原创,如需转载请以超级链接形式注明出处:SmartCat's Blog
标签:字符串
上一篇: 免费资源分享(二) Unity3D 写实梦幻大场景
下一篇: 移动端UI一致性解决方案
精华推荐