Søkealgoritmen med flere elementer brukes til å finne alle forekomster av et spesifikt element i en liste. I motsetning til enkeltelementsøkealgoritmer, holder denne tilnærmingen oversikt over flere forekomster av målelementet og returnerer en liste over deres posisjoner.
Hvordan det fungerer
- Start fra begynnelsen av listen.
- Iterer gjennom hvert element i listen.
- Sammenlign gjeldende element med målverdien.
- Hvis det gjeldende elementet er lik målverdien, registrerer du dets posisjon.
- Fortsett til neste element og gjenta trinn 3-4.
- Etter å ha gjentatt hele listen, returner listen over registrerte posisjoner.
Eksempel
La oss vurdere en liste over heltall, og vi vil finne alle forekomster av tallet 23.
Liste: {12, 23, 45, 23, 56, 23, 89, 90}
- Start fra begynnelsen: 12. Ikke ønsket antall.
- Gå til neste element: 23. Match funnet, registrer posisjon som 1.
- Gå til neste element: 45. Ikke ønsket tall.
- Gå til neste element: 23. Match funnet, registrer posisjon som 3.
- Gå til neste element: 56. Ikke ønsket tall.
- Gå til neste element: 23. Match funnet, registrer posisjon som 5.
- Gå til neste element: 89. Ikke ønsket tall.
- Gå til neste element: 90. Ikke ønsket tall.
- Etter iterasjon, returner en liste over posisjoner: [1, 3, 5].
Eksempelkode i C++
I det gitte eksemplet multipleItemSearch
brukes funksjonen til å finne alle forekomster av tallet 23 i en liste over heltall. Resultatet vil være en vektor som inneholder posisjonene til alle forekomster(posisjoner starter fra 0).