#include<stdio.h>
int Index_1(char s[],int sLen,char p[],int pLen){//s为主串,sLen为主串元素个数,p为模式串,pLen为模式串的个数
if(sLen<pLen)return 0;
int i = 1,j = 1;
while(i<=sLen && j<=pLen){
if(s[i]==p[j]){i++;j++;}
else{
i = i-j+2;
j = 1;
}
}
if(j>pLen) return i-pLen;
return 0;
}
void main(){
char s[]={' ','a','b','c','a','b','a','a','a','a','b','a','a','b','c','a','c'};//从序号1开始存
char p[]={' ','a','b','a','a','b','c','a','c'};
int sLen = sizeof(s)/sizeof(char)-1;
int pLen = sizeof(p)/sizeof(char)-1;
printf("%d",Index_1(s,sLen,p,pLen));
}
网友评论