一、简介
串(string)(或字符串)是由零个或多个字符组成的有序序列,一般记为
s='a1a2....an'
s为串的名,用单引号括起来的时字符序列串的值,串中字符的数目n称为串的长度。
零个字符的串称为空串。
二、代码实现
//串的模式匹配算法//1.求字串位置的定位函数
int Index(char S[], char T[], int pos) {//返回字串T在主串S中第pos个字符之后的位置。若不存在,则函数值为0//T非空,1<=pos&&pos<=StrLength(S)int i = pos;//目标位置指向int j = 1;//比较指向的初始化while (i<=S[0]&&j<=T[0]){if (S[i] == T[j]){++i;j++;}else{i = i - j + 2;j = 1;}if (j > T[0])return i - T[0];else return 0;}
}//Index//next函数值算法
void get_Nezt(char T[],int next[]) {//求模式T的next函数值并存入数组nextint i = 1;next[1] = 0;int j = 0;while (i<T[0]){if (j == 0 || T[i] == T[j]) {++i;j++;next[i] = j;}else j = next[j];}
}