樸素的模式匹配演算法
/*T為非空串。若主串S中的第pos個字元之後存在與T相等的子串,*/
/*則返回第一個這樣的子串在S中的位置,否則返回0.*/
#include<iostream>
#include<string>
using namespace std;
int Index(string S,string T,int pos) //S為你要在T串中匹配的串
{
int i=pos; //用於主串S當前位置下標,從pos位置開始匹配
int j=0; //串T的當前下標
int LengthS=S.length();
int LengthT=T.length();
while(i<LengthS && j<LengthT)
{
if(S[i]==T[j])
{
++i;
++j;
}
else
{
i=i-j+1;
j=0;
}
}
if(j>=LengthT)
{
return i-LengthT;
}
else
{
return -1;
}
}
int main()
{
string T="abcdefg";
string S="efg";
int index=Index(T,S,0);
cout<<index<<endl;
return 0;
}
相關文章
- 樸素模式匹配演算法java實現模式演算法Java
- 樸素貝葉斯演算法演算法
- 分類演算法-樸素貝葉斯演算法
- 04_樸素貝葉斯演算法演算法
- 基於樸素貝葉斯的定位演算法演算法
- 樸素貝葉斯演算法原理小結演算法
- 樸素貝葉斯演算法的實現與推理演算法
- 樸素貝葉斯演算法的python實現演算法Python
- 機器學習演算法(二): 樸素貝葉斯(Naive Bayes)機器學習演算法AI
- Machine Learning-樸素貝葉斯演算法Mac演算法
- chapter6:概率及樸素貝葉斯--樸素貝葉斯APT
- 簡單易懂的樸素貝葉斯分類演算法演算法
- Python機器學習筆記:樸素貝葉斯演算法Python機器學習筆記演算法
- Python機器學習 — 樸素貝葉斯演算法(Naive Bayes)Python機器學習演算法AI
- 樸素貝葉斯模型模型
- MYSQL最樸素的監控方式MySql
- Dijkstra演算法詳解(樸素演算法+堆最佳化)演算法
- 機器學習經典演算法之樸素貝葉斯分類機器學習演算法
- 機器學習筆記之樸素貝葉斯分類演算法機器學習筆記演算法
- 樸素貝葉斯分類演算法(Naive Bayesian classification)演算法AI
- 樸素貝葉斯演算法的python實現 -- 機器學習實戰演算法Python機器學習
- 模式匹配-KMP演算法模式KMP演算法
- 樸素貝葉斯法初探
- 以樸素的方式開發產品
- 抽象的藝術-樸素貝葉斯抽象
- 最短路-樸素版Dijkstra演算法&堆優化版的Dijkstra演算法優化
- 石子合併問題 (樸素區間DP&&GarsiaWachs演算法)演算法
- 樸素貝葉斯和半樸素貝葉斯(AODE)分類器Python實現Python
- KMP模式匹配演算法KMP模式演算法
- 樸素貝葉斯分類和預測演算法的原理及實現演算法
- VIJOS1240 樸素的網路遊戲[DP]遊戲
- 樸素貝葉斯分類器的應用
- 模式匹配kmp演算法(c++)模式KMP演算法C++
- 串(2)--模式匹配演算法模式演算法
- 機器學習之樸素貝葉斯分類機器學習
- 機器學習Sklearn系列:(四)樸素貝葉斯機器學習
- 樸素貝葉斯/SVM文字分類文字分類
- 機器學習實戰(三)--樸素貝葉斯機器學習