Tôi tự hỏi điều này có đúng không? Nếu có, hành vi này có được đảm bảo bởi tiêu chuẩn C++ không?Sẽ std :: multimap duy trì thứ tự chèn nếu khóa của 2 yếu tố bằng nhau?
Trả lời
Các thành phần trong một std::map
phải có các khóa duy nhất, vì vậy ... không.
Vùng chứa std::multimap
cho phép nhiều giá trị được ánh xạ tới một khóa. Khi lặp qua std::multimap
, các phần tử được sắp xếp theo khóa, nhưng thứ tự của các phần tử có cùng khóa không được chỉ định.
Lưu ý rằng trong bản thảo mới nhất của tiêu chuẩn C++ 0x sắp tới (N3092), thứ tự tương đối của các phần tử có cùng khóa được bảo đảm (vì vậy, tại một số thời điểm, bạn sẽ có thể dựa vào hành vi này).
Cảm ơn. Tôi có nghĩa là multimap trong bài trước của tôi. – Thomson
tuyên bố này có vẻ khác với tiêu chuẩn mới được đề xuất cuối cùng mà tôi có (nhưng đó là 21 tháng tuổi (N2798 = 08-0308)) Tôi báo giá: Để multiset và multimap, chèn và xóa giữ thứ tự tương đối tương đương các yếu tố. trang 768 Nếu phạm vi chứa các phần tử tương đương với t tồn tại trong a_eq, t được chèn vào cuối phạm vi đó. trang 771 – pgast
@pgast: Rất thú vị. Ngôn ngữ đó là trong C++ 0x FCD (N3092). Tuy nhiên, nó không phải là trường hợp trong tiêu chuẩn C++ hiện tại (C++ 03) mà thứ tự tương đối được duy trì. Cảm ơn bạn đã chỉ ra thay đổi đó. –
- 1. sử dụng boost multi_index_container để duy trì thứ tự chèn
- 2. Ruby duy trì thứ tự chèn Hash
- 3. Bộ sưu tập khóa/giá trị duy trì thứ tự
- 4. Bộ sưu tập Java duy trì thứ tự chèn
- 5. Do dicts có duy trì thứ tự lặp lại nếu chúng không được sửa đổi không?
- 6. LinkedHashMap của Java có duy trì thứ tự các khóa không?
- 7. có một trình vòng lặp trên các khóa duy nhất trong một std :: multimap không?
- 8. Làm cách nào để duy trì thứ tự các khóa tôi thêm vào một băm Perl?
- 9. Xác định xem 2 danh sách có cùng các yếu tố, bất kể thứ tự không?
- 10. CSS thứ n-con - phù hợp với các yếu tố thứ 2, thứ 5, thứ 8, ...
- 11. cách thay đổi khóa trong một mảng trong khi vẫn duy trì thứ tự?
- 12. Giữ một cây nhị phân cân bằng khi yếu tố này được chèn vào để
- 13. Làm cách nào để lặp qua Multimap theo thứ tự chèn?
- 14. Bản đồ (bộ sưu tập) duy trì Thứ tự chèn trong java
- 15. Khóa chính của SQL composite không có thứ tự (cặp số nguyên theo thứ tự phải là duy nhất)
- 16. std C++ hủy diệt yếu tố container và hành vi chèn
- 17. unordered_multimap - lặp lại kết quả của find() mang yếu tố có giá trị khác nhau
- 18. Làm cách nào để hợp nhất và duy trì thứ tự hàng của một đầu vào?
- 19. Hàng đợi đảm bảo tính duy nhất của các yếu tố?
- 20. Thứ tự của mảng liên kết của tôi có được duy trì từ PHP sang Javascript không?
- 21. ggplot2: thay đổi thứ tự hiển thị của một biến yếu tố trên một trục
- 22. XQuery: giá trị trở lại của một yếu tố chứ không phải các yếu tố tự
- 23. Trong C++ không std :: multiset giữ một thứ tự sắp xếp ổn định?
- 24. Thêm khóa có giá trị rỗng vào Guava Multimap
- 25. Khung kiểm tra để thay thế Watin, nếu nó sẽ ngừng được duy trì?
- 26. Làm cách nào để giữ lại thứ tự chèn của một hàm băm Perl lồng nhau?
- 27. Tạo Multimap yếu với Google Collections
- 28. git duy trì 2 phiên bản của cùng một dự án, với những người dùng khác nhau trên mỗi
- 29. Trình tự của các yếu tố trong từ điển
- 30. Bcp có duy trì thứ tự hàng trong khi xuất thành tệp dữ liệu không?
Bản sao của [Có std :: yêu cầu chèn bảo hành nhiều lần?] (Http://stackoverflow.com/questions/2643473/does-stdmultiset-guarantee-insertion-order) –