/*
* 在父串中寻找子串首次出现的位置(实现类似于java中的indexof()方法)
* str1="cbcdabcf"
* str2="bcf"
*/
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
/*
* str1:父串
* str2:子串
*/
int indexof(char *str1,char *str2)
{
char *s1=str1;
char *s2=str2;
int n1=strlen(s1);
int n2=strlen(s2);
int i=0;
int j=0;
while(i<n1&&j<n2)
{
//存在比较的意义
if(*(s1+i)==*(s2+j))
{
int ii=i+1;
int jj=j+1;
while(ii<n1&&jj<n2)
{
if(*(s1+ii)==*(s2+jj))
{
ii++;
jj++;
}
else
{
break;
}
}
//全部比较完成
if(jj==n2)return ii-n2;
i++;
}
//不存在比较的意义
else
{
i++;
}
}
return -1;
}
int main()
{
char *s1="cbcdabcf";
char *s2="bcf";
int loc=indexof(s1,s2);
printf("子串在父串首次出现的位置:%d\n",loc);
return 0;
}
分享到:
相关推荐
抓穿中查找出现的子串的首先位置(kmp/sunday算法实现)
不使用STL,设计一个算法,在串str中查找串substr最后一次出现的位置
自己闲来没事写的字符串删除,事件复杂度为 n 欢迎大家讨论
该文件实现了在两个字符串中寻找最大子串的算法,并附上代码,方便大家学习。
直接删除s串中与t串相同的子串
获取目标串中随机出现子串之间的数据,子串位置可以变动,用于pdf识别获取相应标签的内容!
输入一个字符串,将输出该字符串最长对称子串及其长度,很精巧的算法
把符串中的一子串替换为另一子串 VB技术很实用的源码本人精心收集的VB源码,绝对实用,有问题联系QQ:353502250
本文探讨了Codeforces Round#452 (Div. 2) F题的两种做法。 关键词:解题报告; 数据结构; 字符串;
java 正则表达式 案例 操作 分组 符号操作 find 寻找子串
在一个字符串s中查找有几个字串subs,结果返回字串的个数。主要用的indexOf()函数。
两个字符串中最大相同的子串。 "qwerabcdtyuiop" "xcabcdvbn
java 获取字符串的子串 java 获取字符串的子串
此程序为VC6.0实现判断一个字符串是否为另一个字符串的子串
VB 6.0 在字符串中用一子串替换另一子串,采用VB中内置的Replace函数来实现,类似这种的替换字符串方法,在平时使用十分广泛,在WEB编程的ASP/PHP/ASP.NET中,同样使用广泛。本示例中,主要是替换一个字符串中的指定...
本文实例讲述了JavaScript自定义函数实现查找两个字符串最长公共子串的方法。分享给大家供大家参考,具体如下: //查找两个字符串的最长公共子串 function findSubStr(s1,s2){ var S=sstr= ,L1=s1.length,L2=s2....
删除S串中与T相同的子串~~~~~~~~
输入母串以及子串开始偏移地址和结束偏移地址,成功返回获取到的子串,失败返回空串
精彩编程与编程技巧-把符串中的一子串替换为另一子串 ...
设计如下算法:char* StrRelace(char T[], char P[], char S[]),将T中第一次出现的与P相等的子串替换为S(串S和P的长度不一定相等),并分析时间复杂度。