L-algoritmu ta' tfittxija lineari huwa metodu sempliċi użat biex jinstab element speċifiku f'lista. Dan l-algoritmu jaħdem billi jiċċekkja b'mod sekwenzjali kull element fil-lista sakemm jinstab l-element mixtieq jew il-lista kollha tiġi traversata.
Kif taħdem
- Ibda mill-ewwel element fil-lista.
- Qabbel l-element kurrenti mal-valur fil-mira.
- Jekk l-element kurrenti huwa ugwali għall-valur fil-mira, l-algoritmu jintemm u jirritorna l-pożizzjoni tal-element.
- Jekk le, kompli itera permezz tal-elementi li fadal fil-lista.
- Jekk il-lista kollha tiġi traversata mingħajr ma jinstab l-element fil-mira, l-algoritmu jirritorna valur li jindika li ma nstabx.
Eżempju
Ejja ngħidu li għandna lista ta 'numri interi u rridu nsibu n-numru 34 fil-lista.
Lista: {12, 45, 67, 89, 34, 56, 23, 90}
- Ibda mill-ewwel element: 12. Mhux in-numru mixtieq.
- Imxi għall-element li jmiss: 45. Mhux in-numru mixtieq.
- Kompli bl-elementi li fadal: 67, 89, 34. L-element 34 jaqbel man-numru mixtieq.
- L-algoritmu jtemm u jirritorna l-pożizzjoni ta '34, li hija 4.
Eżempju Kodiċi f'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;
}
Fl-eżempju mogħti, użajna l- linearSearch
funzjoni biex insibu n-numru 34 fil-lista tan-numri interi. Ir-riżultat ikun il-pożizzjoni ta' 34 fil-lista(il-pożizzjonijiet jibdew minn 0) jew -1 jekk in-numru ma jinstabx.