C++ — алгоритм Хорспула ⇐ C++
-
Anonymous
C++ — алгоритм Хорспула
Мне нужно написать алгоритм Хорспула на C++. Эвристическая таблица работает, но попадания всегда отстают на одну цифру. Значит попадания неправильные! Текст: 'c$pp$$c$ppcpp', шаблон: 'c$pp'; Ожидается: 0 6; дано: 1 7. Мой вопрос в том, есть ли в этой функции ошибка:
uint32_t Horspool::getShift_(const char last_char) const { if (Horspool::lookUpTable.find(last_char) == Horspool::lookUpTable.end()) { return Хорспул::pattern.length(); } еще { return Horspool::lookUpTable.at(last_char); } } Может ли кто-нибудь мне помочь?
Мне нужно написать алгоритм Хорспула на C++. Эвристическая таблица работает, но попадания всегда отстают на одну цифру. Значит попадания неправильные! Текст: 'c$pp$$c$ppcpp', шаблон: 'c$pp'; Ожидается: 0 6; дано: 1 7. Мой вопрос в том, есть ли в этой функции ошибка:
uint32_t Horspool::getShift_(const char last_char) const { if (Horspool::lookUpTable.find(last_char) == Horspool::lookUpTable.end()) { return Хорспул::pattern.length(); } еще { return Horspool::lookUpTable.at(last_char); } } Может ли кто-нибудь мне помочь?
Мобильная версия