Ի՞նչ է Multimap C++-ը:
Ի՞նչ է Multimap C++-ը:

Video: Ի՞նչ է Multimap C++-ը:

Video: Ի՞նչ է Multimap C++-ը:
Video: Դաս 19. Ընդհանրացուած ծրագրաւորման հիմնական հասկացութիւնները. STL գրադարանը 2024, Մայիս
Anonim

Բազմակի քարտեզներ ասոցիատիվ բեռնարկղեր են, որոնց պահեստային տարրերը ձևավորվում են հիմնական արժեքի և քարտեզագրված արժեքի համակցությամբ՝ հետևելով որոշակի կարգի, և որտեղ մի քանի տարրեր կարող են ունենալ համարժեք բանալիներ:

Հետևաբար, ի՞նչ է Multimap-ը C++-ում:

Բազմակի քարտեզ C++-ում ասոցիատիվ կոնտեյների նման քարտեզ է: Այն ներսից պահում է տարրերը հիմնական արժեքների զույգում: Բայց ի տարբերություն քարտեզի, որը պահպանում է միայն եզակի բանալիներ, բազմաքարտեզ կարող է ունենալ կրկնօրինակ բանալիներ: Բացի այդ, այն ներքին տարրերը պահում է ստեղների դասավորված հերթականությամբ:

Հետագայում հարցն այն է, թե որն է տարբերությունը MAP-ի և Multimap-ի միջև C++-ում: Այն քարտեզ եւ բազմաքարտեզ երկուսն էլ կոնտեյներներ են, որոնք կառավարում են բանալին/արժեք զույգերը որպես առանձին բաղադրիչներ: Էական միջև տարբերությունը երկուսն այն է քարտեզի վրա բանալիները պետք է լինեն եզակի, մինչդեռ ա բազմաքարտեզ թույլ է տալիս կրկնօրինակ բանալիներ:

Բացի այդ, Multimap-ը տեսակավորված է C++?

բազմաքարտեզ ::emplace() մեջ C++ STL– Տեղադրում է բանալին և դրա տարրը բազմաքարտեզ կոնտեյներ. բազմաքարտեզ ::սկիզբ() և բազմաքարտեզ ::վերջ() մեջ C++ STL– start()-ը վերադարձնում է կրկնող՝ հղում անելով առաջին տարրին բազմաքարտեզ կոնտեյներ. բազմաքարտեզ ::ջնջել()in C++ STL – Հեռացնում է հիմնական արժեքը բազմաքարտեզ.

Unordered_map-ն ավելի արագ է, քան քարտեզը:

The std:: քարտեզ համարվում է, որ ընդհանուր առմամբ ավելի դանդաղ է քան չպատվիրված քարտեզներ բայց, անշուշտ, դրանց օգտագործումը, եթե անհրաժեշտ է մուտք գործել: The std:: unordered_map պահվում է հեշ աղյուսակում: Սա թույլ է տալիս ավելի արագ մուտք գործել տարրեր՝ հիմնված բանալու արժեքի վրա կատարված հեշ հաշվարկի վրա: