一般的模式匹配算法(求子串位置)
生活随笔
收集整理的這篇文章主要介紹了
一般的模式匹配算法(求子串位置)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
//一般的模式匹配算法#include<stdio.h>int Index (char *s , char *t , int pos );//返回子串t在主串s中第pos個字符之后的位置(包括pos),不存在返回-1 ;
int main (){int p ;p = Index ("123451234" ,"1234" , 0);printf ("%d ",p);return 0;
}int Index (char *s , char *t , int pos ){char *c ;int i ,j;int s_l,t_l;for (i=0 , c = s ;*c ; i++,c++);s_l = i ;for (i=0 , c = t ;*c ; i++,c++);t_l = i ;if (s_l<t_l)return -1 ;i = pos ;j = 0 ;while (i<s_l && j <t_l){if (s[i]==t[j]){i++ ;j ++ ;}else {i = i-j+2 ;j = 0 ;}}if (j >= t_l)return i-t_l ;elsereturn -1;
}
總結
以上是生活随笔為你收集整理的一般的模式匹配算法(求子串位置)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【MySQL】MHA部署与MasterF
- 下一篇: 编码-指标变量分别独立处理