diff options
| author | Paul Jungeblut <paul.jungeblut@gmail.com> | 2016-10-10 21:40:43 +0200 |
|---|---|---|
| committer | Paul Jungeblut <paul.jungeblut@gmail.com> | 2016-10-10 21:40:43 +0200 |
| commit | f1d5de7e374c215ce3da513d1dc3bb2577c1dc3e (patch) | |
| tree | 6d0d195884ba804e9b777a4610f6004e53a1de60 /string/kmp.cpp | |
| parent | c245ad9089aeb8c7fc7683b6a8a20d04a74818f4 (diff) | |
Typesetting string section.
Diffstat (limited to 'string/kmp.cpp')
| -rw-r--r-- | string/kmp.cpp | 10 |
1 files changed, 4 insertions, 6 deletions
diff --git a/string/kmp.cpp b/string/kmp.cpp index 47feac5..450b368 100644 --- a/string/kmp.cpp +++ b/string/kmp.cpp @@ -1,5 +1,5 @@ // Laufzeit: O(n + m), n = #Text, m = #Pattern -vector<int> kmp_preprocessing(string &sub) { +vector<int> kmpPreprocessing(string &sub) { vector<int> b(sub.length() + 1); b[0] = -1; int i = 0, j = -1; @@ -11,9 +11,8 @@ vector<int> kmp_preprocessing(string &sub) { return b; } -vector<int> kmp_search(string &s, string &sub) { - vector<int> pre = kmp_preprocessing(sub); - vector<int> result; +vector<int> kmpSearch(string &s, string &sub) { + vector<int> pre = kmpPreprocessing(sub), result; int i = 0, j = 0; while (i < (int)s.length()) { while (j >= 0 && s[i] != sub[j]) j = pre[j]; @@ -21,7 +20,6 @@ vector<int> kmp_search(string &s, string &sub) { if (j == (int)sub.length()) { result.push_back(i - j); j = pre[j]; - } - } + }} return result; } |
