一.字符串朴素模式匹配算法实现
- //对主串的每一个字符作为子串开头,与要匹配的字符串进行匹配
- //假设主串S和要匹配的子串T的长度存在S[0]和T[0]中
- int Index(String S, String T, int pos)
- {
- int i = pos; //用于主串S中当前位置下标
- int j = 1; //用于子串T中当前位置下标值
- while(i <= S[0] && j <= T[0])
- {
- if (S[i] == T[j]) //两字母相等则继续
- {
- ++i;
- ++j;
- }
- else //指针后退重新开始匹配
- {
- i = i-j+2; //i退回到上次匹配首位的下一位
- j = 1; //j退回到子串T的首位
- }
- }
- if (j > T[0])
- {
- return i - T[0];
- }
- else
- {
- return 0;
- }
- }