Is modh simplí é an t-algartam cuardaigh líneach a úsáidtear chun eilimint shonrach a aimsiú i liosta. Oibríonn an algartam seo trí gach eilimint sa liosta a sheiceáil go seicheamhach go dtí go bhfaightear an eilimint atá ag teastáil nó go dtrasnaítear an liosta iomlán.
Conas a oibríonn sé
- Tosaigh ón gcéad eilimint sa liosta.
- Déan comparáid idir an eilimint reatha agus an luach sprice.
- Más ionann an eilimint reatha agus an spriocluach, críochnaíonn an t-algartam suíomh na heiliminte agus cuireann sé ar ais é.
- Mura bhfuil, lean ar aghaidh ag atriall trí na heilimintí atá fágtha sa liosta.
- Má thrasnaítear an liosta iomlán gan an sprioceilimint a aimsiú, filleann an t-algartam luach a léiríonn nach bhfuarthas é.
Sampla
Ligean le rá go bhfuil liosta slánuimhreacha againn agus ba mhaith linn an uimhir 34 a fháil ar an liosta.
Liosta: {12, 45, 67, 89, 34, 56, 23, 90}
- Tosaigh ag an gcéad eilimint: 12. Ní hé an uimhir atá ag teastáil.
- Téigh go dtí an chéad eilimint eile: 45. Ní hé an uimhir atá uait.
- Lean ar aghaidh leis na heilimintí atá fágtha: 67, 89, 34. Meaitseálann eilimint 34 an uimhir inmhianaithe.
- Críochnaíonn an algartam suíomh 34, is é sin 4, agus cuireann sé ar ais é.
Cód Samplach i C++
#include <iostream>
#include <vector>
int linearSearch(const std::vector<int>& arr, int target) {
for(int i = 0; i < arr.size(); ++i) {
if(arr[i] == target) {
return i;
}
}
return -1;
}
int main() {
std::vector<int> numbers = {12, 45, 67, 89, 34, 56, 23, 90};
int target = 34;
int result = linearSearch(numbers, target);
if(result != -1) {
std::cout << "Element " << target << " found at position " << result << std::endl;
} else {
std::cout << "Element " << target << " not found in the array" << std::endl;
}
return 0;
}
Sa sampla tugtha, d'úsáideamar an linearSearch
fheidhm chun an uimhir 34 a fháil i liosta na slánuimhreacha. Is é an toradh a bheidh air ná suíomh 34 ar an liosta(tosaíonn na poist ó 0) nó -1 mura bhfaightear an uimhir.