سؤال

وأنا أبحث عن وعاء التي تنص على الأمراض المنقولة جنسيا :: خريطة تشبه واجهة ولكن يحافظ على الترتيب الذي يتم إدراج العناصر. منذ لن يكون هناك الكثير من العناصر في الخريطة، أداء البحث ليست قضية كبيرة. سوف تعزيز :: العمل unordered_map في هذا قضية؟ أي أنها لا تحافظ على ترتيب الإدراج. أنا جديدة لتعزيز المكتبة، وبالتالي تريد أن تعرف ما المقصود بالضبط من قبل "غير مرتبة؟

هل كانت مفيدة؟

المحلول

وunordered_map لا يحافظ على ترتيب الإدراج. غير مرتبة في هذه الحالة يعني أن النظام يمكن ملاحظتها من العناصر (أي عند تعداد منهم) هو غير محدد والتعسفي. في الواقع، وأتوقع أن ترتيب العناصر في unordered_map يمكن أن تتغير خلال فترة من الخريطة، بسبب باسترجاع عند تغيير حجم الخريطة (وهذا التنفيذ يعتمد على الرغم من)

نصائح أخرى

Boost.Multiindex . فهو يوفر لك فرصة لخلق وعاء يحتوي على كل الوصول إلى البيانات بواسطة مفتاح (مثل الأمراض المنقولة جنسيا :: خريطة) ورصا التسلسل إلى البيانات (مثل الأمراض المنقولة جنسيا :: قائمة).

وهذا هو سبيل المثال .

عند كنت بحاجة هذه المرة الأخيرة، وأنا استخدم std::vector< std::pair<const Key, Value> >. لم أكن بحاجة إلى الكثير من واجهة std::map لذلك لم أكن عناء مع هو، ولكن يبدو أنه ينبغي أن يكون من السهل نسبيا لصفعة على واجهة خريطة تشبه حول هذا.

وأيضا، تأكد من أن ننظر إلى إجابات ل هذا السؤال .

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top