简单字符串模式匹配算法的C++实现

/*
*   simpleIndex.cpp
*   Author: Qiang Xiao
*   Time: 2015-07-13
*/

#include<iostream>
#include<string>
using namespace std;

int simpleIndex(const string&, const string&, int);

int main(){
    string t1= "Hello, world!";
    string p1= "o";
    int pos= 0;
    int re= simpleIndex(t1, p1, pos);
    cout<<re<<endl;

    return 0;
}

int simpleIndex(const string& T, const string& P, int pos= 0){
    int startPos= pos, i= pos, j= 0;
    while(i< T.length() && j< P.length()){
      if(T[i]== P[j]){
          i++;
          j++;
      }
      else{
          i= ++startPos;
          j= 0;
      }
    }
    if(j== P.length())
      return startPos;
    else
      return -1;
}

 

串的模式匹配最基本的算法。

当作练习用。

欢迎交流!

posted @ 2015-07-13 16:07  TACHIA  阅读(720)  评论(0编辑  收藏  举报