คำถามติดแท็ก insertion-order

14
แผนที่มาตรฐาน :: ที่ติดตามลำดับของการแทรก?
ขณะนี้ฉันมีstd::map<std::string,int>ที่เก็บค่าจำนวนเต็มให้กับตัวระบุสตริงที่ไม่ซ้ำกันและฉันค้นหาด้วยสตริง ส่วนใหญ่ทำในสิ่งที่ฉันต้องการยกเว้นว่าจะไม่ติดตามลำดับการแทรก ดังนั้นเมื่อฉันทำแผนที่ซ้ำเพื่อพิมพ์ค่าพวกมันจะถูกจัดเรียงตามสตริง แต่ฉันต้องการให้เรียงลำดับตามลำดับของการแทรก (ครั้งแรก) ฉันคิดจะใช้ a vector<pair<string,int>>แทน แต่ฉันต้องค้นหาสตริงและเพิ่มค่าจำนวนเต็มประมาณ 10,000,000 ครั้งดังนั้นฉันไม่รู้ว่า a std::vectorจะช้าลงอย่างมากหรือไม่ มีวิธีใช้std::mapหรือมีstdภาชนะอื่นที่เหมาะกับความต้องการของฉันมากกว่านี้หรือไม่? [ฉันใช้ GCC 3.4 และฉันอาจมีค่าไม่เกิน 50 คู่ในตัวstd::map] ขอบคุณ.
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.