diff --git a/String Matching/KMP.cpp b/String Matching/KMP.cpp new file mode 100644 index 0000000..efea4dc --- /dev/null +++ b/String Matching/KMP.cpp @@ -0,0 +1,55 @@ +#include + +using namespace std; +void make_lps(int *lps, string &pattern){ + int j=0, i=1; + lps[0]=0; + while(i0){ + j=lps[j-1]; + } + else{ + lps[i++]=0; + } + } +} + +int match(string &orig, string &pattern, int *lps){ + int patt_index=0; + int orig_index=0; + while(orig_index>orig; + + string pattern; + cin>>pattern; + int lps[pattern.length()]; + make_lps(lps, pattern); + + + cout<