StrIndex(SString s,int pos,SString t) { int i,j,start; if(t.len==0) return(0); //模式串为空串是,是任意串的匹配串 start=pos;i=start;j=0; while(i if(s.ch[i]==t.ch[j]) {i++;j++;}//当前对应字符相等时推进 else { start++; //当前对应字符不等时回溯 i=start; j=0; //主串从start+1开始,模式串从头(0)开始 } if(j<=t.len) return(start); //匹配成功时,返回匹配起始位置 else return(-1); //匹配不成功时,返回-1 } //该算法思路比较简单,但最坏时间复杂度较高,为O(s.len*t.len)