C ++ வரிசைப்படுத்தப்படாத வரைபடத்தை எவ்வாறு பயன்படுத்துவது

How Use C Unordered Map



ஒரு துணை வரிசை என்றும் அழைக்கப்படும் ஒரு வரைபடம் என்பது உறுப்புகளின் பட்டியல் ஆகும், அங்கு ஒவ்வொரு உறுப்பும் ஒரு முக்கிய/மதிப்பு ஜோடியாகும். எனவே, ஒவ்வொரு விசையும் ஒரு மதிப்புக்கு ஒத்திருக்கிறது. சாதாரண வேலைக்கு வெவ்வேறு விசைகள் ஒரே மதிப்பை கொண்டிருக்கும். உதாரணமாக, சாவிகள் பழங்களின் பட்டியல் மற்றும் அதனுடன் தொடர்புடைய மதிப்புகள், பழங்களின் நிறங்கள். சி ++ இல், வரைபடம் உறுப்பினர் செயல்பாடுகள் மற்றும் ஆபரேட்டர்களுடன் ஒரு தரவு கட்டமைப்பாக செயல்படுத்தப்படுகிறது. கட்டளையிடப்பட்ட வரைபடம் என்பது உறுப்பு ஜோடிகள் விசைகளால் கட்டளையிடப்பட்ட ஒன்றாகும். வரிசைப்படுத்தப்படாத வரைபடம் என்பது ஒழுங்கு இல்லாத ஒன்று. இந்த கட்டுரை C ++ வரிசைப்படுத்தப்படாத வரைபடத்தை எவ்வாறு பயன்படுத்துவது என்பதை விளக்குகிறது, இது unororder_map என எழுதப்பட்டுள்ளது. இந்தக் கட்டுரையைப் புரிந்துகொள்ள உங்களுக்கு சி ++ சுட்டிகளில் அறிவு தேவை. unororder_map என்பது C ++ தரமான நூலகத்தின் ஒரு பகுதியாகும்.

வர்க்கம் மற்றும் பொருள்கள்

ஒரு வர்க்கம் என்பது மாறிகள் மற்றும் செயல்பாடுகளின் தொகுப்பாகும். மாறிகள் மதிப்புகள் ஒதுக்கப்படும் போது, ​​வர்க்கம் ஒரு பொருளாக மாறும். ஒரே வர்க்கத்திற்கு கொடுக்கப்படும் வெவ்வேறு மதிப்புகள் வெவ்வேறு பொருள்களை விளைவிக்கின்றன; அதாவது, வெவ்வேறு பொருள்கள் வெவ்வேறு மதிப்புகள் கொண்ட ஒரே வர்க்கம். ஒரு வகுப்பிலிருந்து ஒரு பொருளை உருவாக்குவது அந்தப் பொருளை உடனடியாக நிறுவுவதாகக் கூறப்படுகிறது.







பெயர், வரிசைப்படுத்தப்படாத_ வரைபடம், ஒரு வகுப்பு. வரிசைப்படுத்தப்படாத_ வரைபட வகுப்பிலிருந்து உருவாக்கப்பட்ட ஒரு பொருள் ஒரு புரோகிராமர் தேர்ந்தெடுத்த பெயரைக் கொண்டுள்ளது.



வகுப்பிலிருந்து ஒரு பொருளை நிறுவ ஒரு வகுப்பிற்கு சொந்தமான செயல்பாடு தேவை. C ++ இல், அந்தச் செயல்பாட்டிற்கு வகுப்பின் பெயரின் அதே பெயர் உள்ளது. வகுப்பிலிருந்து உருவாக்கப்பட்ட (உடனடி) பொருள்கள் வெவ்வேறு பெயர்களைக் கொண்டுள்ளன, அவை புரோகிராமரால் வழங்கப்படுகின்றன.



வகுப்பிலிருந்து ஒரு பொருளை உருவாக்குவது என்பது பொருளை உருவாக்குவதாகும்; இது உடனடி என்று பொருள்.





வரிசைப்படுத்தப்படாத_ வரைபட வகுப்பைப் பயன்படுத்தும் C ++ நிரல், கோப்பின் மேற்புறத்தில் பின்வரும் வரிகளுடன் தொடங்குகிறது:

#சேர்க்கிறது
#சேர்க்கிறது
நேம்ஸ்பேஸ் எஸ்டிடியைப் பயன்படுத்துதல்;

முதல் வரி உள்ளீடு/வெளியீடு. வரிசைப்படுத்தப்படாத_ வரைபட வகுப்பின் அனைத்து அம்சங்களையும் பயன்படுத்த நிரலை அனுமதிப்பது இரண்டாவது வரி. மூன்றாவது வரி நிரலை நிலையான பெயர்வெளியில் உள்ள பெயர்களைப் பயன்படுத்த அனுமதிக்கிறது.



ஒரு செயல்பாட்டை ஓவர்லோட் செய்தல்

இரண்டு அல்லது அதற்கு மேற்பட்ட வெவ்வேறு செயல்பாட்டு கையொப்பங்கள் ஒரே பெயரைக் கொண்டிருக்கும் போது, ​​அந்தப் பெயர் ஓவர்லோட் செய்யப்பட்டதாகக் கூறப்படுகிறது. ஒரு செயல்பாடு அழைக்கப்படும் போது, ​​வாதங்களின் எண்ணிக்கை மற்றும் வகை, எந்த செயல்பாடு உண்மையில் செயல்படுத்தப்படுகிறது என்பதை தீர்மானிக்கவும்.

கட்டுமானம்/நகல் கட்டுமானம்

எளிய கட்டுமானம்

வரிசைப்படுத்தப்படாத வரைபடத்தை உருவாக்கலாம் மற்றும் மதிப்புகளை பின்வருமாறு ஒதுக்கலாம்:

வரிசைப்படுத்தப்படாத_ வரைபடம்<கான்ஸ்ட் கரி*, கான்ஸ்ட் கரி*>umap;

umap['வாழை'] = 'மஞ்சள்';
umap['திராட்சை'] = 'பச்சை';
umap['அத்தி'] = 'ஊதா';

முக்கிய மற்றும் மதிப்பு ஜோடிகளுக்கான வகைகளுடன் டெம்ப்ளேட் சிறப்புடன் அறிவிப்பு தொடங்குகிறது. வரைபடத்திற்கு புரோகிராமர் தேர்ந்தெடுத்த பெயர் இதைத் தொடர்ந்து வருகிறது; பின்னர் ஒரு அரைப்புள்ளி. இரண்டாவது குறியீடு பிரிவு அவற்றின் விசைகளுக்கு மதிப்புகளை எவ்வாறு ஒதுக்குவது என்பதைக் காட்டுகிறது.
இனிஷினலைசர்_லிஸ்ட் மூலம் கட்டுமானம்
இதை பின்வருமாறு செய்யலாம்:

வரிசைப்படுத்தப்படாத_ வரைபடம்<கான்ஸ்ட் கரி*, கான்ஸ்ட் கரி*>umap({{'வாழை', 'மஞ்சள்'},
{'திராட்சை', 'பச்சை'}, {'அத்தி', 'ஊதா'}});

Initializer_list ஐ வழங்குவதன் மூலம் கட்டுமானம்
உதாரணமாக:

வரிசைப்படுத்தப்படாத_ வரைபடம்<கான்ஸ்ட் கரி*, கான்ஸ்ட் கரி*>umap= {{'வாழை', 'மஞ்சள்'},
{'திராட்சை', 'பச்சை'}, {'அத்தி', 'ஊதா'}};

வரிசைப்படுத்தப்படாத மற்றொரு வரைபடத்தை நகலெடுப்பதன் மூலம் கட்டுமானம்
உதாரணமாக:

வரிசைப்படுத்தப்படாத_ வரைபடம்<கான்ஸ்ட் கரி*, கான்ஸ்ட் கரி*>umap1({{'வாழை', 'மஞ்சள்'},
{'திராட்சை', 'பச்சை'}, {'அத்தி', 'ஊதா'}});
வரிசைப்படுத்தப்படாத_ வரைபடம்<கான்ஸ்ட் கரி*, கான்ஸ்ட் கரி*>umap2(umap1);

ஜோடி உறுப்பு

ஜோடி உறுப்பை எவ்வாறு உருவாக்குவது மற்றும் அணுகுவது என்பதை பின்வரும் குறியீடு காட்டுகிறது:

ஜோடி<கரி, கான்ஸ்ட் கரி*>pr= {'d', 'இரு'};
செலவு<<prமுதலில் << ' n';
செலவு<<prஇரண்டாவது << ' n';

வெளியீடு:


இரு

முதல் மற்றும் இரண்டாவது ஜோடியில் உள்ள இரண்டு பொருட்களுக்கு ஒதுக்கப்பட்ட சொற்கள். முதல் மற்றும் இரண்டாவது பயன்படுத்தி ஜோடியில் உள்ள மதிப்புகள் இன்னும் மாறலாம்.

வரிசைப்படுத்தப்படாத வரைபடத்தின் தலைப்பில் ஒரு ஜோடி, மதிப்பு_ வகை என்று அழைக்கப்படுகிறது.

வரிசைப்படுத்தப்படாத_ வரைபடம் உறுப்பு அணுகல்

மேப்_டைப் & ஆபரேட்டர் [] (key_type && k)
தொடர்புடைய விசையின் மதிப்பை வழங்குகிறது. உதாரணமாக:

வரிசைப்படுத்தப்படாத_ வரைபடம்<கான்ஸ்ட் கரி*, கான்ஸ்ட் கரி*>umap;

umap['வாழை'] = 'மஞ்சள்';
umap['திராட்சை'] = 'பச்சை';
umap['அத்தி'] = 'ஊதா';

கான்ஸ்ட் கரி *சரி=umap['திராட்சை'];

செலவு<<சரி<<' n';

வெளியீடு: பச்சை. மதிப்புகள் அதே வழியில் ஒதுக்கப்படலாம் - மேலே பார்க்கவும்.

வரிசைப்படுத்தப்படாத_ வரைபட திறன்

size_type அளவு () const இல்லை
வரைபடத்தில் உள்ள ஜோடிகளின் எண்ணிக்கையை அளிக்கிறது.

வரிசைப்படுத்தப்படாத_ வரைபடம்<கான்ஸ்ட் கரி*, கான்ஸ்ட் கரி*>umap;

umap['வாழை'] = 'மஞ்சள்';
umap['திராட்சை'] = 'பச்சை';
umap['அத்தி'] = 'ஊதா';

செலவு<<umap.அளவு() <<' n';

வெளியீடு 3 ஆகும்.

பூல் காலியாக () const

வரைபடத்தில் ஜோடி இல்லையென்றால் உண்மைக்கு 1, ஜோடி இருந்தால் பொய்யான 0 க்குத் திரும்பும். உதாரணமாக:

வரிசைப்படுத்தப்படாத_ வரைபடம்<கான்ஸ்ட் கரி*, கான்ஸ்ட் கரி*>umap;
செலவு<<umap.காலியாக() <<' n';

வெளியீடு 1 ஆகும்.

திரும்பும் ஐடரேட்டர்கள் மற்றும் வரிசைப்படுத்தப்படாத வரைபட வகுப்பு

ஒரு இட்ரேட்டர் ஒரு சுட்டிக்காட்டி போன்றது ஆனால் சுட்டிக்காட்டியை விட அதிக செயல்பாட்டைக் கொண்டுள்ளது.

தொடக்கம் () தவிர

பின்வரும் குறியீட்டுப் பிரிவைப் போல, வரைபடப் பொருளின் முதல் ஜோடியைச் சுட்டிக்காட்டும் ஒரு மறுசீரமைப்பை வழங்குகிறது:

வரிசைப்படுத்தப்படாத_ வரைபடம்<கான்ஸ்ட் கரி*, கான்ஸ்ட் கரி*>umap;

umap['வாழை'] = 'மஞ்சள்';umap['திராட்சை'] = 'பச்சை';umap['அத்தி'] = 'ஊதா';

வரிசைப்படுத்தப்படாத_ வரைபடம்<கான்ஸ்ட் கரி*, கான்ஸ்ட் கரி*> ::இட்ரேட்டர்iter=umap.தொடங்க();
ஜோடி<கான்ஸ்ட் கரி*, கான்ஸ்ட் கரி*>pr= *iter;
செலவு<<prமுதலில் << ',' <<prஇரண்டாவது << ' n';

வெளியீடு: அத்தி, ஊதா. வரைபடம் வரிசைப்படுத்தப்படவில்லை.

தொடக்கம் () const noexcept;

வரைபடப் பொருள் சேகரிப்பின் முதல் உறுப்பைச் சுட்டிக்காட்டும் ஒரு ஐடரேட்டரை வழங்குகிறது. பொருளின் கட்டுமானம் கான்ஸ்டால் முன்னதாக இருக்கும்போது, ​​ஸ்டார்ட் () என்பதற்கு பதிலாக கான்ஸ்ட்ரேஷன் தொடங்குகிறது () இந்த நிலையில், பொருளில் உள்ள உறுப்புகளை மாற்ற முடியாது. இது பின்வரும் குறியீட்டில் பயன்படுத்தப்படுகிறது, எடுத்துக்காட்டாக.

கான்ஸ்ட்வரிசைப்படுத்தப்படாத_ வரைபடம்<கான்ஸ்ட் கரி*, கான்ஸ்ட் கரி*>umap({{'வாழை', 'மஞ்சள்'},
{'திராட்சை', 'பச்சை'}, {'அத்தி', 'ஊதா'}});

வரிசைப்படுத்தப்படாத_ வரைபடம்<கான்ஸ்ட் கரி*, கான்ஸ்ட் கரி*> ::const_iteratoriter=umap.தொடங்க();
ஜோடி<கான்ஸ்ட் கரி*, கான்ஸ்ட் கரி*>pr= *iter;
செலவு<<prமுதலில் << ',' <<prஇரண்டாவது << ' n';

வெளியீடு: அத்தி, ஊதா. வரைபடம் வரிசைப்படுத்தப்படவில்லை. திருப்பி அனுப்பப்பட்ட இட்ரேட்டரைப் பெறுவதற்கு வெறும் இட்ரேட்டருக்குப் பதிலாக இம்முறை const_iterator பயன்படுத்தப்பட்டுள்ளது என்பதை நினைவில் கொள்க.

முடிவு () தவிர

வரைபடப் பொருளின் கடைசி உறுப்புக்கு அப்பால் உடனடியாகச் சுட்டிக்காட்டும் ஒரு ஐடரேட்டரை வழங்குகிறது.

முடிவு () const noexcept

வரைபடப் பொருளின் கடைசி உறுப்புக்கு அப்பால் உடனடியாகச் சுட்டிக்காட்டும் ஒரு ஐடரேட்டரை வழங்குகிறது. வரைபடப் பொருளின் கட்டுமானம் கான்ஸ்டால் முன்னதாக இருக்கும்போது, ​​வெளிப்பாடு (() கான்ஸ்ட்டுக்குப் பதிலாக எண்ட் () முடிவடைகிறது.

வரிசைப்படுத்தப்படாத வரைபட செயல்பாடுகள்

இட்ரேட்டர் கண்டுபிடிப்பு (const key_type & k)

வரைபடத்தில் கொடுக்கப்பட்ட விசையின் ஜோடியைத் தேடுகிறது. அது கண்டுபிடிக்கப்பட்டால், அது மறுசீரமைப்பாளரைத் தருகிறது. கண்டுபிடிக்க முடியவில்லை எனில், அது ஒரு ஜோடி அல்லாத வரைபடத்தின் முடிவைச் சுட்டிக்காட்டும் ஒரு இட்ரேட்டரை வழங்குகிறது. இந்த உறுப்பினர் செயல்பாட்டை எவ்வாறு பயன்படுத்துவது என்பதை பின்வரும் குறியீடு காட்டுகிறது:

வரிசைப்படுத்தப்படாத_ வரைபடம்<கரி,கரி>umap;

umap['க்கு'] = 'b';umap['சி'] = 'd';umap['மற்றும்'] = 'f';

வரிசைப்படுத்தப்படாத_ வரைபடம்<கரி,கரி> ::இட்ரேட்டர்iter=umap.கண்டுபிடிக்க('சி');
என்றால் (umap.கண்டுபிடிக்க('சி') ! =umap.முடிவு())
{
ஜோடி<கரி,கரி>pr= *iter;
செலவு<<prமுதலில் << ',' <<prஇரண்டாவது << ' n';
}

வெளியீடு: c, d

const_iterator கண்டுபிடிப்பு (const key_type & k) const;

வரிசைப்படுத்தப்படாத வரைபடத்தை உருவாக்குவது கான்ஸ்ட்டுடன் தொடங்கினால், செயல்பாட்டின் இந்த பதிப்பு அழைக்கப்படுகிறது, இது வரைபடத்தின் அனைத்து கூறுகளையும் படிக்க மட்டுமே செய்கிறது.

unororder_map மாற்றிகள்

ஜோடி செருகல் (மதிப்பு_ வகை & & பொருள்)
வரிசைப்படுத்தப்படாத வரைபடம் என்றால் ஜோடிகள் எந்த வரிசையிலும் இல்லை. எனவே, புரோகிராம் தங்களுக்கு வசதியான எந்த இடத்திலும் ஜோடியைச் செருகுகிறது. செயல்பாடு திரும்புகிறது, ஜோடி. செருகல் வெற்றிகரமாக இருந்தால், பூல் உண்மைக்கு 1 ஆக இருக்கும், இல்லையெனில் அது 0 க்கு பொய்யாக இருக்கும். செருகல் வெற்றிகரமாக இருந்தால், மறுசீரமைப்பாளர் புதிதாக செருகப்பட்ட உறுப்பை சுட்டிக்காட்டும். பின்வரும் குறியீடு பயன்பாட்டை விளக்குகிறது:

வரிசைப்படுத்தப்படாத_ வரைபடம்<கான்ஸ்ட் கரி*, கான்ஸ்ட் கரி*>umap;

umap['வாழை'] = 'மஞ்சள்';
umap['திராட்சை'] = 'பச்சை';
umap['அத்தி'] = 'ஊதா';

umap.செருக({{'செர்ரி', 'வலை'}, {'ஸ்ட்ராபெரி', 'வலை'}});

செலவு<<umap.அளவு() << ' n';

வெளியீடு: 5. ஒன்றுக்கு மேற்பட்ட ஜோடிகளைச் செருகலாம்.

size_type அழிப்பு (const key_type & k)

இந்த செயல்பாடு வரிசைப்படுத்தப்படாத_ வரைபடத்திலிருந்து ஒரு ஜோடியை அழிக்கிறது. பின்வரும் குறியீடு பிரிவு விளக்குகிறது:

வரிசைப்படுத்தப்படாத_ வரைபடம்<கான்ஸ்ட் கரி*, கான்ஸ்ட் கரி*>umap;

umap['வாழை'] = 'மஞ்சள்';
umap['திராட்சை'] = 'பச்சை';
umap['அத்தி'] = 'ஊதா';

intஒன்றின் மீது=umap.அழி('திராட்சை');

செலவு<<umap.அளவு() << ' n';

வெளியீடு 2 ஆகும்.
வெற்றிட இடமாற்றம் (வரிசைப்படுத்தப்படாத_ வரைபடம் &)
இந்த குறியீடு பிரிவில் விளக்கப்பட்டுள்ளபடி, இரண்டு வரிசைப்படுத்தப்படாத வரைபடங்களை மாற்றலாம்:

வரிசைப்படுத்தப்படாத_ வரைபடம்<கான்ஸ்ட் கரி*, கான்ஸ்ட் கரி*>umap1= {{'வாழை', 'மஞ்சள்'},
{'திராட்சை', 'பச்சை'}, {'அத்தி', 'ஊதா'}, {'ஸ்ட்ராபெரி', 'வலை'}};

வரிசைப்படுத்தப்படாத_ வரைபடம்<கான்ஸ்ட் கரி*, கான்ஸ்ட் கரி*>umap2= {{'செர்ரி', 'வலை'}, {'சுண்ணாம்பு', 'பச்சை'}};

umap1.இடமாற்றம்(umap2);

வரிசைப்படுத்தப்படாத_ வரைபடம்<கான்ஸ்ட் கரி*, கான்ஸ்ட் கரி*> ::இட்ரேட்டர்iter1=umap1.தொடங்க();
ஜோடி<கான்ஸ்ட் கரி*, கான்ஸ்ட் கரி*>pr1= *iter1;
வரிசைப்படுத்தப்படாத_ வரைபடம்<கான்ஸ்ட் கரி*, கான்ஸ்ட் கரி*> ::இட்ரேட்டர்iter2=umap2.தொடங்க();
ஜோடி<கான்ஸ்ட் கரி*, கான்ஸ்ட் கரி*>pr2= *iter2;

செலவு<< Umap1 இன் முதல் விசை மற்றும் அளவு: '<<pr1.முதலில் <<','<<umap1.அளவு() << ' n';
செலவு<< Umap2 இன் முதல் விசை மற்றும் அளவு '<<pr2.முதலில் <<','<<umap2.அளவு() << ' n';
வரிசைப்படுத்தப்படாத_ வரைபடம்<கான்ஸ்ட் கரி*, கான்ஸ்ட் கரி*>umap1= {{'வாழை', 'மஞ்சள்'},
{'திராட்சை', 'பச்சை'}, {'அத்தி', 'ஊதா'}, {'ஸ்ட்ராபெரி', 'வலை'}};
வரிசைப்படுத்தப்படாத_ வரைபடம்<கான்ஸ்ட் கரி*, கான்ஸ்ட் கரி*>umap2= {{'செர்ரி', 'வலை'}, {'சுண்ணாம்பு', 'பச்சை'}};

umap1.இடமாற்றம்(umap2);

வரிசைப்படுத்தப்படாத_ வரைபடம்<கான்ஸ்ட் கரி*, கான்ஸ்ட் கரி*> ::இட்ரேட்டர்iter1=umap1.தொடங்க();
ஜோடி<கான்ஸ்ட் கரி*, கான்ஸ்ட் கரி*>pr1= *iter1;
வரிசைப்படுத்தப்படாத_ வரைபடம்<கான்ஸ்ட் கரி*, கான்ஸ்ட் கரி*> ::இட்ரேட்டர்iter2=umap2.தொடங்க();
ஜோடி<கான்ஸ்ட் கரி*, கான்ஸ்ட் கரி*>pr2= *iter2;

செலவு<< Umap1 இன் முதல் விசை மற்றும் அளவு: '<<pr1.முதலில் <<','<<umap1.அளவு() << ' n';
செலவு<< Umap2 இன் முதல் விசை மற்றும் அளவு '<<pr2.முதலில் <<','<<umap2.அளவு() << ' n';

வெளியீடு:

Umap1 இன் முதல் விசை மற்றும் அளவு: சுண்ணாம்பு, 2

உமாப் 2 ஸ்ட்ராபெரியின் முதல் விசை மற்றும் அளவு, 4

வரைபடம் வரிசைப்படுத்தப்படவில்லை. தேவைப்பட்டால் வரைபடத்தின் நீளம் அதிகரிக்கப்படும் என்பதை நினைவில் கொள்க. தரவு வகைகள் ஒரே மாதிரியாக இருக்க வேண்டும்.

வகுப்பு மற்றும் அதன் நிறுவப்பட்ட பொருள்கள்

ஒரு மதிப்பு ஒரு தரவு வகைக்கு, ஒரு உடனடி பொருள் ஒரு வகுப்பிற்கு உள்ளது. வரிசைப்படுத்தப்படாத வரைபட கட்டுமானம் ஒரு வகுப்பை தரவு வகையாக ஏற்கலாம். பின்வரும் திட்டம் இதை விளக்குகிறது:

#சேர்க்கிறது
#சேர்க்கிறது
நேம்ஸ்பேஸ் எஸ்டிடியைப் பயன்படுத்துதல்;

வகுப்பு TheCla
{
பொது:
intஒன்றின் மீது;
நிலையான கரிசா;

வெற்றிடம்செயல்பாடு(கரிஇல்லை, கான்ஸ்ட் கரி *)
{
செலவு<< 'உள்ளன' <<ஒன்றின் மீது<< 'மதிப்புள்ள புத்தகங்கள்' <<இல்லை<<<< 'கடையில்.' << ' n';
}
நிலையான வெற்றிடம்வேடிக்கை(கரிசா)
{
என்றால் (சா== 'க்கு')
செலவு<< அதிகாரப்பூர்வ நிலையான உறுப்பினர் செயல்பாடு ' << ' n';
}
};

intமுக்கிய()
{
தி கிளா ஆப்ஜெக்ட் 1;தி கிளா ஆப்ஜெக்ட் 2;தி கிளா ஆப்ஜெக்ட் 3;தி கிளா ஆப்ஜெக்ட் 4;தி க்ளா ஆப்ஜெக்ட் 5;

வரிசைப்படுத்தப்படாத_ வரைபடம்<கான்ஸ்ட் கரி*,தி கிளா>umap;
umap= {{'வாழை',பொருள் 1}, {'திராட்சை',பொருள் 2}, {'அத்தி',பொருள் 3}, {'ஸ்ட்ராபெரி',பொருள் 4}, {'சுண்ணாம்பு',பொருள் 5}};

செலவு<<umap.அளவு() << ' n';

திரும்ப 0;
}

வெளியீடு: 5.

வகுப்பு வரையறை இரண்டு தரவு பொது உறுப்பினர்கள் மற்றும் இரண்டு பொது உறுப்பினர் செயல்பாடுகளை கொண்டுள்ளது. முக்கிய () செயல்பாட்டில், வகுப்பிற்கான வெவ்வேறு பொருள்கள் உடனடியாக நிறுவப்பட்டுள்ளன. வரிசைப்படுத்தப்படாத வரைபடம் பின்னர் நிறுவப்பட்டது, அங்கு ஒவ்வொரு ஜோடியும் ஒரு பழத்தின் பெயரையும் வகுப்பிலிருந்து ஒரு பொருளையும் கொண்டுள்ளது. வரைபடத்தின் அளவு காட்டப்படும். நிரல் எந்த எச்சரிக்கை அல்லது பிழை செய்தி இல்லாமல் தொகுக்கிறது.

வரைபடத்தின் பயன்பாடு

வரிசை மதிப்புக்கு ஒரு குறியீட்டை இணைக்கிறது. முக்கிய/மதிப்பு ஜோடிகள் வாழ்க்கையில் பல சூழ்நிலைகளில் உள்ளன, அவை திட்டமிடப்படலாம். பழம்/வண்ணத்தின் முக்கிய/மதிப்பு ஜோடி ஒரு உதாரணம். மற்றொரு உதாரணம் மக்களின் பெயர் மற்றும் அவர்களின் வயது. இந்த வழக்கில், ஜோடி ஒரு வகை, ஜோடியாக இருக்கும். இது ஜோடியாகவும் இருக்கலாம். பிந்தைய வழக்கில், முன் செயலாக்க உத்தரவு பயன்படுத்தப்படும். ஒரு முக்கிய/மதிப்பு ஜோடி இன்னும் திருமணமான ஜோடிகளின் பெயர்களாக இருக்கலாம். பலதார மணம் இருக்கும் நாடுகளில், ஒரு ஆணுக்கு வெவ்வேறு மனைவிகள் இருப்பார்கள்.

ஒரு வரைபடத்தின் உருவாக்கம்

ஒரு வரைபடம் இரு பரிமாண வரிசை அல்ல, இரண்டு நெடுவரிசைகள் கொண்டது. ஒரு வரைபடம் ஒரு ஹாஷ் செயல்பாட்டுடன் வேலை செய்கிறது. விசை ஹாஷ் செயல்பாட்டால், ஒரு வரிசையின் முழு எண்ணாக குறியாக்கம் செய்யப்படுகிறது. இந்த வரிசைதான் மதிப்புகளை வைத்திருக்கிறது. எனவே, மதிப்புகள் கொண்ட ஒரு வரிசை உண்மையில் உள்ளது, மற்றும் வரிசையின் குறியீடுகளுக்கு விசைகள் வரைபடமாக்கப்படுகின்றன, எனவே விசைகள் மற்றும் மதிப்புகளுக்கு இடையேயான தொடர்புகள் செய்யப்படுகின்றன. ஹேஷிங் ஒரு விரிவான தலைப்பு மற்றும் இந்த கட்டுரையில் உள்ளடக்கப்படவில்லை.

முடிவுரை

ஒரு துணை வரிசை என்றும் அழைக்கப்படும் ஒரு வரைபடம் என்பது உறுப்புகளின் பட்டியல் ஆகும், அங்கு ஒவ்வொரு உறுப்பும் ஒரு முக்கிய/மதிப்பு ஜோடியாகும். எனவே, ஒவ்வொரு விசையும் ஒரு மதிப்புக்கு ஒத்திருக்கிறது. சி ++ இல், வரைபடம் உறுப்பினர் செயல்பாடுகள் மற்றும் ஆபரேட்டர்களுடன் ஒரு தரவு கட்டமைப்பாக செயல்படுத்தப்படுகிறது. கட்டளையிடப்பட்ட வரைபடம் என்பது உறுப்பு ஜோடிகள் விசைகளால் கட்டளையிடப்பட்ட ஒன்றாகும். வரிசைப்படுத்தப்படாத வரைபடம் என்பது வரிசைப்படுத்தாத ஒன்று.

தொழில்நுட்ப ரீதியாக, ஒரு ஹாஷ் ஜோடி கூறுகளைக் கொண்டுள்ளது. உண்மையில், இந்த ஜோடி அதன் உறுப்பினர் செயல்பாடுகள் மற்றும் ஆபரேட்டர்களுடன் ஒரு முழு தரவு கட்டமைப்பாகும். ஜோடிக்கான இரண்டு டெம்ப்ளேட் அளவுருக்கள் வரிசைப்படுத்தப்படாத_ வரைபடத்திற்கான ஒரே இரண்டு டெம்ப்ளேட் அளவுருக்கள்.

வரைபடத்திற்கான ஆரம்பநிலை_பட்டியல் என்பது இலக்கியங்களின் வரிசை ஆகும். ஒவ்வொரு உள் எழுத்தும் இரண்டு பொருள்களைக் கொண்டுள்ளது, விசை/மதிப்பு ஜோடி.

வரிசைப்படுத்தப்படாத_ வரைபடத்திற்கான உறுப்பினர் செயல்பாடுகள் மற்றும் ஆபரேட்டர்கள் பின்வரும் தலைப்புகளின் கீழ் வகைப்படுத்தலாம்: வரிசைப்படுத்தப்படாத_ வரைபட கட்டுமானம்/நகல் கட்டுமானம், ஒழுங்கற்ற_மாப் திறன், ஒழுங்கற்ற_மாப் இட்ரேட்டர், ஒழுங்கற்ற_மாப் செயல்பாடுகள் மற்றும் ஒழுங்கற்ற_மாப் மாற்றிகள்.

ஒரு விசையை ஒரு மதிப்புக்கு மேப் செய்ய வேண்டியிருக்கும் போது வரிசைப்படுத்தப்படாத வரைபடம் பயன்படுத்தப்படுகிறது.

கிறைஸ்