జాబితాలోని నిర్దిష్ట మూలకం యొక్క అన్ని సంఘటనలను కనుగొనడానికి బహుళ-అంశాల శోధన అల్గోరిథం ఉపయోగించబడుతుంది. సింగిల్-ఐటెమ్ శోధన అల్గారిథమ్ల వలె కాకుండా, ఈ విధానం లక్ష్య మూలకం యొక్క బహుళ సంఘటనలను ట్రాక్ చేస్తుంది మరియు వాటి స్థానాల జాబితాను అందిస్తుంది.
అది ఎలా పని చేస్తుంది
- జాబితా ప్రారంభం నుండి ప్రారంభించండి.
- జాబితాలోని ప్రతి మూలకం ద్వారా పునరావృతం చేయండి.
- ప్రస్తుత మూలకాన్ని లక్ష్య విలువతో సరిపోల్చండి.
- ప్రస్తుత మూలకం లక్ష్య విలువకు సమానంగా ఉంటే, దాని స్థానాన్ని రికార్డ్ చేయండి.
- తదుపరి మూలకానికి కొనసాగండి మరియు 3-4 దశలను పునరావృతం చేయండి.
- మొత్తం జాబితాను మళ్లించిన తర్వాత, రికార్డ్ చేయబడిన స్థానాల జాబితాను తిరిగి ఇవ్వండి.
ఉదాహరణ
పూర్ణాంకాల జాబితాను పరిశీలిద్దాం మరియు మేము 23 సంఖ్య యొక్క అన్ని సంఘటనలను కనుగొనాలనుకుంటున్నాము.
జాబితా: {12, 23, 45, 23, 56, 23, 89, 90}
- ప్రారంభం నుండి ప్రారంభించండి: 12. కోరుకున్న సంఖ్య కాదు.
- తదుపరి మూలకానికి తరలించండి: 23. సరిపోలిక కనుగొనబడింది, స్థానం 1గా రికార్డ్ చేయబడింది.
- తదుపరి మూలకానికి తరలించండి: 45. కావలసిన సంఖ్య కాదు.
- తదుపరి మూలకానికి తరలించండి: 23. మ్యాచ్ కనుగొనబడింది, స్థానం 3గా రికార్డ్ చేయబడింది.
- తదుపరి మూలకానికి తరలించండి: 56. కావలసిన సంఖ్య కాదు.
- తదుపరి మూలకానికి తరలించండి: 23. సరిపోలిక కనుగొనబడింది, స్థానం 5గా రికార్డ్ చేయబడింది.
- తదుపరి మూలకానికి తరలించండి: 89. కావలసిన సంఖ్య కాదు.
- తదుపరి మూలకానికి తరలించండి: 90. కావలసిన సంఖ్య కాదు.
- పునరావృతం చేసిన తర్వాత, స్థానాల జాబితాను తిరిగి ఇవ్వండి: [1, 3, 5].
C++లో ఉదాహరణ కోడ్
ఇచ్చిన ఉదాహరణలో, multipleItemSearch
పూర్ణాంకాల జాబితాలో 23 సంఖ్య యొక్క అన్ని సంఘటనలను కనుగొనడానికి ఫంక్షన్ ఉపయోగించబడుతుంది. ఫలితం అన్ని సంఘటనల స్థానాలను కలిగి ఉన్న వెక్టర్ అవుతుంది(స్థానాలు 0 నుండి ప్రారంభమవుతాయి).