L-algoritmu ta' tfittxija ta' oġġetti multipli jintuża biex jinstabu l-okkorrenzi kollha ta' element speċifiku f'lista. B'differenza mill-algoritmi ta' tfittxija b'oġġett wieħed, dan l-approċċ iżomm kont ta' okkorrenzi multipli tal-element fil-mira u jirritorna lista tal-pożizzjonijiet tagħhom.
Kif taħdem
- Ibda mill-bidu tal-lista.
- Itteri minn kull element fil-lista.
- Qabbel l-element kurrenti mal-valur fil-mira.
- Jekk l-element kurrenti huwa ugwali għall-valur fil-mira, irreġistra l-pożizzjoni tiegħu.
- Kompli għall-element li jmiss u rrepeti l-passi 3-4.
- Wara li tgħaddi mill-lista kollha, erġa 'lura l-lista ta' pożizzjonijiet irreġistrati.
Eżempju
Ejja nikkunsidraw lista ta 'numri interi u rridu nsibu l-okkorrenzi kollha tan-numru 23.
Lista: {12, 23, 45, 23, 56, 23, 89, 90}
- Ibda mill-bidu: 12. Mhux in-numru mixtieq.
- Imxi għall-element li jmiss: 23. Taqbila misjuba, irreġistra l-pożizzjoni bħala 1.
- Imxi għall-element li jmiss: 45. Mhux in-numru mixtieq.
- Imxi għall-element li jmiss: 23. Taqbila misjuba, irreġistra l-pożizzjoni bħala 3.
- Imxi għall-element li jmiss: 56. Mhux in-numru mixtieq.
- Imxi għall-element li jmiss: 23. Taqbila misjuba, irreġistra l-pożizzjoni bħala 5.
- Imxi għall-element li jmiss: 89. Mhux in-numru mixtieq.
- Imxi għall-element li jmiss: 90. Mhux in-numru mixtieq.
- Wara l-iterazzjoni, ritorna lista ta' pożizzjonijiet: [1, 3, 5].
Eżempju Kodiċi f'C++
#include <iostream>
#include <vector>
std::vector<int> multipleItemSearch(const std::vector<int>& arr, int target) {
std::vector<int> positions;
for(int i = 0; i < arr.size(); ++i) {
if(arr[i] == target) {
positions.push_back(i);
}
}
return positions;
}
int main() {
std::vector<int> numbers = {12, 23, 45, 23, 56, 23, 89, 90};
int target = 23;
std::vector<int> result = multipleItemSearch(numbers, target);
std::cout << "Occurrences of " << target << " found at positions: ";
for(int pos: result) {
std::cout << pos << ";
}
std::cout << std::endl;
return 0;
}
Fl-eżempju mogħti, il- multipleItemSearch
funzjoni tintuża biex issib l-okkorrenzi kollha tan-numru 23 f'lista ta 'numri interi. Ir-riżultat se jkun vettur li jkun fih il-pożizzjonijiet tal-okkorrenzi kollha(il-pożizzjonijiet jibdew minn 0).