algo0405.cpp

来自「严蔚敏的数据结构(C语言)源码」· C++ 代码 · 共 19 行

CPP
19
字号
int Index(SString S, SString T, int pos) {  // 算法4.5
   // 返回子串T在主串S中第pos个字符之后的位置。
   // 若不存在,则函数值为0。
   // 其中,T非空,1≤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

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?