Algoritma pencarian multi-item digunakan untuk menemukan semua kemunculan elemen tertentu dalam daftar. Tidak seperti algoritme pencarian item tunggal, pendekatan ini melacak beberapa kemunculan elemen target dan mengembalikan daftar posisinya.
Bagaimana itu bekerja
- Mulai dari awal daftar.
- Ulangi setiap elemen dalam daftar.
- Bandingkan elemen saat ini dengan nilai target.
- Jika elemen saat ini sama dengan nilai target, catat posisinya.
- Lanjutkan ke elemen berikutnya dan ulangi langkah 3-4.
- Setelah mengulangi seluruh daftar, kembalikan daftar posisi yang direkam.
Contoh
Mari pertimbangkan daftar bilangan bulat dan kami ingin menemukan semua kemunculan angka 23.
Daftar: {12, 23, 45, 23, 56, 23, 89, 90}
- Mulai dari awal: 12. Bukan angka yang diinginkan.
- Pindah ke elemen berikutnya: 23. Kecocokan ditemukan, catat posisi sebagai 1.
- Pindah ke elemen berikutnya: 45. Bukan angka yang diinginkan.
- Pindah ke elemen berikutnya: 23. Kecocokan ditemukan, catat posisi sebagai 3.
- Pindah ke elemen berikutnya: 56. Bukan angka yang diinginkan.
- Pindah ke elemen berikutnya: 23. Kecocokan ditemukan, catat posisi sebagai 5.
- Pindah ke elemen berikutnya: 89. Bukan angka yang diinginkan.
- Pindah ke elemen berikutnya: 90. Bukan angka yang diinginkan.
- Setelah iterasi, kembalikan daftar posisi: [1, 3, 5].
Contoh Kode di C++
Dalam contoh yang diberikan, multipleItemSearch
fungsi digunakan untuk menemukan semua kemunculan angka 23 dalam daftar bilangan bulat. Hasilnya akan berupa vektor yang berisi posisi dari semua kejadian(posisi mulai dari 0).