在C++ STL(Standard Template Library)中,容器是用于存储数据的类模板。根据容器内部元素是否排序,可以将它们大致分为无序容器和有序容器。本文将深入探讨这两类容器的区别,并通过具体代码示例来阐明它们之间的不同。

一、有序容器

有序容器中的元素是自动排序的。在C++ STL中,典型的有序容器

包括std::vector(当使用std::sort进行排序时)、std::deque(同样,当排序时)、std::list(排序时)、std::set、std::multiset、std::map和std::multimap。

例如,std::set是一个内部元素自动排序的容器,它不允许有重复元素。下面是一个简单的std::set使用示例:

#include <iostream>
#include <set>

int main() {
    std::set<int> s;
    s.insert(5);
    s.insert(3);
    s.insert(7);
    s.insert(1);
    s.insert(4);

    for (int num : s) {
        std::cout << num << " ";
    }
    std::cout << std::endl;

    return 0;
}