Is modh bunúsach é an t-algartam Cuardach Téacs maidir le próiseáil téacs agus aisghabháil faisnéise. Ligeann an t-algartam seo dúinn tarluithe fotheaghrán(nó patrún) a aimsiú agus a aithint laistigh de phíosa níos mó téacs.
Conas a oibríonn sé
- Tosaigh le píosa níos mó téacs(nó doiciméad) agus fotheaghrán le cuardach a dhéanamh air.
- Déan atriall trí gach carachtar den téacs go seicheamhach.
- Cuir an fhotheaghrán i gcomparáid le cuid den téacs atá ar chomhfhad leis an bhfotheaghrán. Má aimsítear meaitseáil, taifead an suíomh reatha.
- Téigh go dtí an chéad suíomh eile agus lean ar aghaidh leis an gcomparáid.
Sampla
Smaoinigh ar an téacs: "Déanaimis cuardach do fhotheaghrán laistigh den téacs seo chun a fheiceáil conas a oibríonn an algartam."
Agus an fotheaghrán le cuardach a dhéanamh ar: "substring"
- Tosaigh ag suíomh 0. Déan comparáid idir
Let'
le "fotheaghrán". Gan mheaitseáil. - Bog go dtí suíomh 1. Déan comparáid
et's
idir le "fotheaghrán". Gan mheaitseáil. - Bog go dtí suíomh 2. Cuir
t's
" i gcomparáid le "substring". Níl aon mheaitseáil. - Bog go dtí suíomh 3. Déan comparáid
's s
le "fotheaghrán". Gan mheaitseáil. - Bog go dtí suíomh 4. Déan comparáid
se
le "substring". Gan mheaitseáil. - Bog go dtí suíomh 5. Déan comparáid
sea
le "substring". Gan mheaitseáil. - Bog go dtí suíomh 6. Déan comparáid
earc
le "substring". Gan mheaitseáil. - Bog go dtí suíomh 7. Déan comparáid
arch
le "substring". Gan mheaitseáil. - Bog go dtí suíomh 8. Cuir
rch
" i gcomparáid le "substring". Níl aon mheaitseáil. - Bog go dtí suíomh 9. Déan comparáid
ch w
le "substring". Gan mheaitseáil. - Bog go dtí suíomh 10. Déan comparáid
h wi
le "substring". Gan mheaitseáil. - Bog go dtí suíomh 11. Cuir " i gcomparáid
wit
le "fotheideal". Níl aon mheaitseáil. - Bog go dtí suíomh 12. Déan comparáid
with
le "substring". Gan mheaitseáil. - Bog go dtí suíomh 13. Déan comparáid
ithi
le "substring". Gan mheaitseáil. - Bog go dtí suíomh 14. Déan comparáid
thin
le "substring". Gan mheaitseáil. - Bog go dtí suíomh 15. Déan comparáid
hinn
le "substring". Gan mheaitseáil. - Bog go dtí suíomh 16. Déan comparáid
in t
le "substring". Gan mheaitseáil. - Bog go dtí suíomh 17. Déan comparáid
n th
le "substring". Gan mheaitseáil. - Bog go dtí suíomh 18. Cuir " i gcomparáid
thi
le "fo-theaghrán". - Bog go dtí suíomh 19. Déan comparáid
this
le "substring". Gan mheaitseáil. - Bog go dtí suíomh 20. Cuir
his
" i gcomparáid le "substring". Níl aon mheaitseáil. - Bog go dtí suíomh 21. Déan comparáid
is t
le "substring". Gan mheaitseáil. - Bog go dtí suíomh 22. Déan comparáid
s te
le "substring". Gan mheaitseáil. - Bog go dtí suíomh 23. Déan comparáid
ubst
le "substring". Gan mheaitseáil. - Bog go dtí suíomh 24. Déan comparáid
bstr
le "substring". Gan mheaitseáil. - Bog go dtí suíomh 25. Déan comparáid
stre
le "substring". Gan mheaitseáil. - Bog go dtí suíomh 26. Déan comparáid
trin
le "substring". Gan mheaitseáil. - Bog go dtí suíomh 27. Déan comparáid
ring
le "substring". Aimsíodh meaitseáil, suíomh taifead 27.
Tá an fhotheaghrán "fotheaghrán" le fáil ag suíomh 27 laistigh den téacs.
Cód Samplach i C++
#include <iostream>
#include <string>
#include <vector>
std::vector<int> textSearch(const std::string& text, const std::string& query) {
std::vector<int> positions;
for(int i = 0; i <= text.length()- query.length(); ++i) {
int j = 0;
while(j < query.length() && text[i + j] == query[j]) {
++j;
}
if(j == query.length()) {
positions.push_back(i);
}
}
return positions;
}
int main() {
std::string text = "Let's search for a substring within this text to see how the algorithm works.";
std::string query = "substring";
std::vector<int> result = textSearch(text, query);
std::cout << "Substring found at positions: ";
for(int pos: result) {
std::cout << pos << ";
}
std::cout << std::endl;
return 0;
}
Sa sampla seo, textSearch
úsáidtear an fheidhm chun suíomhanna an fhotheaghráin "fotheaghrán" a aimsiú laistigh den téacs. Is é an toradh a bheidh air ná veicteoir ina mbeidh suíomhanna tosaigh na gcluichí.