O algoritmo de busca de string é usado para encontrar ocorrências de um padrão específico(substring) dentro de um texto maior(string). Esse algoritmo desempenha um papel crucial nas tarefas de processamento, pesquisa e manipulação de texto.
Como funciona
- Comece com um texto(string) e um padrão(substring) para pesquisar.
- Percorra o texto um caractere por vez.
- Para cada caractere do texto, compare-o com o primeiro caractere do padrão.
- Se houver correspondência, verifique se os caracteres subsequentes também correspondem ao padrão.
- Se o padrão corresponder completamente, registre a posição inicial da correspondência.
- Continue procurando o padrão no texto.
Exemplo
Considere um texto: "ababcababcabcabc" E um padrão: "abc"
- Comece na posição 0. Compare "a" com o primeiro caractere "a" no padrão.
- Correspondência encontrada, passe para os próximos caracteres: "b" com "b" e "a" com "c".
- Continue combinando: "b" com "a", "a" com "b" e "b" com "c".
- A correspondência falhou na posição 2.
- Comece novamente na posição 3. Compare "a" com o primeiro caractere "a" no padrão.
- Correspondência bem-sucedida: "a" com "a", "b" com "b" e "c" com "c".
- Posição do registro 3.
O padrão "abc" é encontrado nas posições 0, 6 e 9.
Exemplo de código em C++
Neste exemplo, a stringSearch
função é utilizada para encontrar ocorrências do padrão "abc" dentro do texto "ababcababcabcabc". O resultado será um vetor contendo as posições iniciais das partidas.