int horspoolstringmatching(const string &P, const string &T) { int table[127]; int k, flag = 0; int m = T.length(); int n = P.length(); int i, j; for (i = 0; i < 127; i++) table[i] = m; for (j = 0; j < m - 1; j++) table[P[j]] = m - 1 - j; i = m - 1; while (i <= n - 1) { k = 0; while (k <= m - 1 && T[m - 1 - k] == P[i - k]) k++; if (k == m) { return i - m + 1; flag = 1; break; } else { i = i + table[P[i]]; } } if (!flag) return -1; }
var
This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)