సి ++ లో ప్రియారిటీ క్యూను ఎలా అమలు చేయాలి

ఈ వ్యాసం మీకు ఉదాహరణలతో C ++ లో ప్రాధాన్యత క్యూను ఎలా అమలు చేయాలనే దానిపై వివరణాత్మక మరియు సమగ్రమైన జ్ఞానాన్ని అందిస్తుంది.

ప్రాధాన్యత క్యూ అనేది STL లోని కంటైనర్. ప్రాధాన్యతా క్యూ యొక్క ప్రతి మూలకానికి నిర్దిష్ట ప్రాధాన్యత ఉంది మరియు మేము ప్రాధాన్యత క్యూ నుండి మూలకాలను పాప్ చేసినప్పుడు, అత్యధిక ప్రాధాన్యత కలిగిన అంశాలు మొదట పాప్ చేయబడతాయి తప్ప ఇది క్యూతో సమానంగా ఉంటుంది. ప్రాధాన్యతా క్యూ వలె, 10 రకాల కంటైనర్లు ఉన్నాయి ఎస్టీఎల్ . కంటైనర్ అనేది డేటాను నిల్వ చేసే వస్తువు. STL కంటైనర్లు టెంప్లేట్ తరగతుల సహాయంతో అమలు చేయబడతాయి, అందువల్ల వివిధ రకాల డేటాను కలిగి ఉండటానికి అనుకూలీకరించడం సులభం. ఈ పోస్ట్‌లో, ప్రాధాన్యతా క్యూ మరియు దానికి సంబంధించిన అంశాలను వివరంగా చర్చిస్తాము. C ++ వ్యాసంలోని ఈ ప్రాధాన్యతా క్యూలో క్రింది పాయింటర్లు కవర్ చేయబడతాయి,



సి ++ లోని ప్రియారిటీ క్యూపై ఈ కథనంతో కదులుతోంది



STL యొక్క భాగాలు

STL డేటాను నిల్వ చేయడానికి మరియు ప్రాసెస్ చేయడానికి ప్రామాణిక విధానంగా ఉపయోగించగల టెంప్లేట్ తరగతులు మరియు విధులను కలిగి ఉంటుంది. STL యొక్క భాగాలను చర్చిద్దాం

కంటైనర్లు- ఎస్టీఎల్‌లో 10 రకాల కంటైనర్లు నిర్వచించబడ్డాయి మరియు వీటిని 3 వర్గాలుగా విభజించారు. ఈ 3 లో, ప్రాధాన్యతా క్యూలు ఉత్పన్నమైన కంటైనర్ యొక్క వర్గానికి చెందినవి. ప్రతి కంటైనర్ క్లాస్ దాని స్వంత ఫంక్షన్లను కలిగి ఉంటుంది, ఇది డేటాను మార్చటానికి ఉపయోగపడుతుంది.



జావా శ్రేణి వస్తువుల ఉదాహరణ

అల్గోరిథం - అల్గోరిథం అనేది కంటైనర్ ఆబ్జెక్ట్‌లోని డేటాను ప్రాసెస్ చేయడానికి ఉపయోగించే ఒక పద్ధతి. STL అనేక రకాలైన అల్గారిథమ్‌లను అందిస్తుంది, వీటిని ప్రారంభించడం, శోధించడం, క్రమబద్ధీకరించడం, విలీనం చేయడం, కాపీ చేయడం వంటివి ఉపయోగించవచ్చు. టెంప్లేట్ ఫంక్షన్ల సహాయంతో అల్గోరిథంలు అమలు చేయబడతాయి.

ఇటరేటర్- ఇటెరేటర్ అనేది కంటైనర్‌లోని ఒక మూలకం వైపు సూచించే ఒక వస్తువు. కంటైనర్ యొక్క విషయాల ద్వారా కదలడానికి ఇటరేటర్లు సహాయపడతాయి. ఇటిరేటర్లు పాయింటర్ల వంటివి, వీటిని పెంచవచ్చు మరియు తగ్గించవచ్చు. ఇది అల్గోరిథం మరియు కంటైనర్ మధ్య లింక్‌గా పనిచేస్తుంది. కంటైనర్‌లో నిల్వ చేసిన డేటాను మార్చటానికి ఇటరేటర్లను ఉపయోగిస్తారు.

సి ++ లోని ప్రియారిటీ క్యూపై ఈ కథనంతో కదులుతోంది



కుప్పలు మరియు ప్రాధాన్యతా క్యూ

మేము ఇంతకు ముందు చూసినట్లుగా ప్రియారిటీ క్యూ ఉత్పన్నమైన కంటైనర్ల వర్గానికి చెందినది. ఈ వర్గంలోని ఇతర సభ్యులు స్టాక్ మరియు క్యూ. ఈ ఉత్పన్నమైన కంటైనర్లను కంటైనర్ ఎడాప్టర్లు అని కూడా అంటారు.

స్టాక్, క్యూ మరియు ప్రాధాన్యతా క్యూలను వేర్వేరు సీక్వెన్స్ కంటైనర్ల నుండి తయారు చేసినందున ఉత్పన్నమైన కంటైనర్లు అంటారు. ఈ కంటైనర్లు డేటా మానిప్యులేషన్ కోసం ఉపయోగించని ఏ రకమైన ఇటరేటర్లకు మద్దతు ఇవ్వవు.

ప్రాధాన్యతా క్యూ అంటే ఏమిటి?

సరళంగా చెప్పాలంటే, ఇది మేము డేటాను నిల్వ చేయడానికి ఉపయోగించే కంటైనర్. నిల్వ చేసిన డేటా యొక్క ప్రతి మూలకానికి కొంత ప్రాధాన్యత ఇవ్వబడుతుంది, ఇది డేటాను తార్కిక క్రమంలో నిల్వ చేయడంలో మాకు సహాయపడుతుంది.
సింటాక్స్:ప్రాధాన్యత_క్యూ వేరియబుల్_పేరు

ప్రాధాన్యతా క్యూని ఉపయోగించడానికి ప్రోగ్రామ్‌లో హెడర్ ఫైల్‌ను చేర్చడం ముఖ్యం.

సి ++ లో ప్రాధాన్యత క్యూఉదాహరణకు, పుష్ ఫంక్షన్‌ను ఉపయోగించి మన ప్రాధాన్యత క్యూలో 2, 10, 30, 5, 6 ని జోడించి, పాప్ ఫంక్షన్‌ను ఉపయోగించి ఎలిమెంట్స్‌ని పాప్ చేస్తే అవుట్పుట్ 30, 10, 6, 5, 2 అవుతుంది.

సరే, కాబట్టి ఇప్పుడు మనకు ప్రాధాన్యత క్యూ యొక్క ప్రయోజనం లేదా ఉపయోగం తెలుసు. 30> 10 అయితే ఎలా తెలుసు? ఇది ఒక విధమైన సార్టింగ్ చేస్తున్నారా? ఈ సమయంలో కుప్పలు చిత్రంలోకి వస్తాయి. కుప్పల గురించి వివరంగా తెలుసుకోవడానికి ఈ కథనాన్ని చూడండి.

కుప్పలు- కుప్పలు చెట్టు లాంటి నిర్మాణాలు. పేరెంట్ నోడ్‌లకు సంబంధించి చైల్డ్ ఎలిమెంట్స్ నోడ్స్ కుప్పలో ఎలా అమర్చబడిందనే దాని ఆధారంగా, కుప్పలు 2 భాగాలుగా విభజించబడ్డాయి

ఒకటి. కనిష్ట కుప్ప- మిన్ హీప్‌లో, పేరెంట్ నోడ్ యొక్క విలువ పిల్లల నోడ్‌ల విలువ కంటే తక్కువ లేదా సమానంగా ఉంటుంది.

2. మాక్స్ హీప్- మాక్స్ హీప్‌లో, పేరెంట్ నోడ్ యొక్క విలువ పిల్లల నోడ్‌ల విలువ కంటే ఎక్కువ లేదా సమానంగా ఉంటుంది.

గమనిక- ప్రాధాన్యత క్యూ కొన్ని సార్టింగ్ అల్గోరిథం ఉపయోగించి మూలకాలను క్రమబద్ధీకరించదు, బదులుగా ఇది డేటాను కుప్ప రూపంలో నిల్వ చేస్తుంది.

సి ++ లోని ప్రియారిటీ క్యూపై ఈ కథనంతో కదులుతోంది

ప్రాధాన్యతా క్యూలోని అన్ని అంశాలను ముద్రించడం

ప్రాధాన్యత క్యూ యొక్క ప్రాథమికాలను అర్థం చేసుకున్న తరువాత, ప్రాధాన్యతా క్యూతో సాధారణంగా ఉపయోగించే పద్ధతులను అర్థం చేసుకోవడానికి ప్రోగ్రామ్‌లను అమలు చేద్దాం

# చేర్చండి ముందు_క్.పుష్ ​​(7) ఉండగా (ప్రియర్_క్.ఎంప్టీ () == తప్పుడు) {కౌట్<< Prior_q.top() << ' ' Prior_q.pop() } return 0 }

అవుట్పుట్:

30 15 10 9 6 2

పై ప్రోగ్రామ్‌లో, మేము ప్రాధాన్యత క్యూతో వ్యవహరించేటప్పుడు చాలాసార్లు ఉపయోగించే పాప్ (), టాప్ () మరియు పుష్ () ఫంక్షన్‌లను ఉపయోగించాము. ప్రాధాన్యత క్యూతో మనం ఉపయోగించగల కొన్ని పద్ధతులను పరిశీలిద్దాం

పరిమాణం (): ఈ ఫంక్షన్ ప్రాధాన్యతా క్యూ పరిమాణాన్ని అందిస్తుంది

ఖాళీ (): ప్రాధాన్యత క్యూ ఖాళీగా ఉందో లేదో తనిఖీ చేయడానికి ఈ ఫంక్షన్ ఉపయోగించబడుతుంది. ప్రాధాన్యత క్యూ ఖాళీగా ఉన్నందున ఇది నిజం అవుతుంది.

పుష్ (): ప్రాధాన్యతా క్యూలో ఒక మూలకాన్ని చొప్పిస్తుంది.

పాప్ (): ఈ ఫంక్షన్ అత్యధిక ప్రాధాన్యత కలిగిన మూలకం అయిన ప్రాధాన్యత క్యూ యొక్క అగ్ర మూలకాన్ని తొలగిస్తుంది.

స్వాప్ (): ఈ ఫంక్షన్ ప్రాధాన్యత క్యూ యొక్క అంశాలను మరొక ప్రాధాన్యత క్యూతో మార్పిడి చేస్తుంది. ఫంక్షన్ పారామితిగా ప్రాధాన్యత క్యూను తీసుకుంటుంది.

emplace (): ఈ ఫంక్షన్ ప్రాధాన్యత క్యూ పైన ఒక మూలకాన్ని జోడించడానికి ఉపయోగించబడుతుంది.

మరో ప్రోగ్రామ్‌ను చూద్దాం.

# చేర్చండి ముందు_క్.పుష్ ​​(7) ఉండగా (ప్రియర్_క్.ఎంప్టీ () == తప్పుడు) {కౌట్<< Prior_q.top() << ' ' Prior_q.pop() } return 0 }

అవుట్పుట్:

2 6 7 9 10 15 30

దీనితో, మేము C ++ వ్యాసంలో ఈ ప్రాధాన్యతా క్యూ ముగింపుకు వచ్చాము. మీరు మరింత తెలుసుకోవాలనుకుంటే, చూడండి విశ్వసనీయ ఆన్‌లైన్ లెర్నింగ్ సంస్థ ఎడురేకా చేత. ఎడురేకా యొక్క జావా J2EE మరియు SOA శిక్షణ మరియు ధృవీకరణ కోర్సు కోర్ మరియు అధునాతన జావా భావనలతో పాటు హైబర్నేట్ & స్ప్రింగ్ వంటి వివిధ జావా ఫ్రేమ్‌వర్క్‌ల కోసం మీకు శిక్షణ ఇవ్వడానికి రూపొందించబడింది.

మాకు ప్రశ్న ఉందా? దయచేసి ఈ బ్లాగ్ యొక్క వ్యాఖ్యల విభాగంలో దీనిని ప్రస్తావించండి మరియు మేము వీలైనంత త్వరగా మిమ్మల్ని సంప్రదిస్తాము.