diff --git a/_03.串/_a.串.c b/_03.串/_a.串.c index 922a2a7..45fef31 100644 --- a/_03.串/_a.串.c +++ b/_03.串/_a.串.c @@ -2,7 +2,7 @@ * @Author: Xu Bai * @Date: 2019-07-06 22:20:08 * @LastEditors: Xu Bai - * @LastEditTime: 2019-07-07 23:05:20 + * @LastEditTime: 2019-07-07 23:21:21 */ #include "string.h" @@ -172,6 +172,7 @@ int Index(String S, String T, int pos) } if (j > T[0]) { + //ÕÒµ½ÁËÆ¥ÅäλÖà return i - T[0]; } else @@ -180,6 +181,37 @@ int Index(String S, String T, int pos) } } +int index2(String S, String T, int pos) +{ + // TΪ·Ç¿Õ´®¡£ÈôÖ÷´®SÖдæÔÚµÚpos¸ö×Ö·ûÖ®ºó´æÔÚÓëTÏàµÈµÄ×Ó´® + // Ôò·µ»ØµÚÒ»¸öÕâÑùµÄ×Ó´®ÔÚSÖеÄλÖ㬷ñÔò·µ»Ø0 + int n, m, i; + String sub; + if (pos > 0) + { + n = StrLength(S); //Ö÷´® + m = StrLength(T); //×Ó´® + i = pos; + while (i <= n - m + 1) + { + SubString(sub, S, i, m); + //È¡×Ó´®ÖеÚi¸öλÖó¤¶ÈÓëTÏàµÈµÄ×Ó´®¸øsub + if (StrCompare(sub, T) != 0) + { + ++i; + } + else + { + // Á½´®ÏàµÈ + return i; + } + } + } + return 0; +} + + + // Status Replace(String S,String T, String V){ // // ÓÃVÌæ»»Ö÷´®SÖгöÏÖµÄËùÓÐÓëTÏàµÈµÄ²»ÖصþµÄ×Ó´® // int i =1;