diff --git a/_03.串/_a.串.c b/_03.串/_a.串.c index 80432d1..922a2a7 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-06 23:50:11 + * @LastEditTime: 2019-07-07 23:05:20 */ #include "string.h" @@ -148,6 +148,50 @@ Status SubString(String Sub, String S, int pos, int len) return OK; } +int Index(String S, String T, int pos) +{ + // ·µ»Ø×Ó´®TÔÚÖ÷´®SÖеÚpos¸ö×Ö·ûÖ®ºóµÄλÖá£Èô²»´æÔÚ£¬Ôò·µ»Ø0 + //ÆäÖУ¬T·Ç¿Õ£¬1¡Üpos¡ÜStrLength(S) + int i = pos; + // iÓÃÀ´Ö÷´®SÖе±Ç°Î»ÖõÄϱêÖµ£¬Èôpos²»Îª1Ôò´ÓposλÖÿªÊ¼Æ¥Åä + int j = 1; + // jÓÃÀ´×Ó´®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; + } +} + +// Status Replace(String S,String T, String V){ +// // ÓÃVÌæ»»Ö÷´®SÖгöÏÖµÄËùÓÐÓëTÏàµÈµÄ²»ÖصþµÄ×Ó´® +// int i =1; +// if(StrEmpty(T)){ +// return ERROR; +// } + +// do{ +// i= +// } +// } + int main() { char chars[] = "ABCD";