STL之set

2020-04-28 16:00:31来源:博客园 阅读 ()

新老客户大回馈,云服务器低至5折

STL之set

set即集合,主要用来去除重复元素。

#include<iostream>
#include<set>
#include<unordered_set>
using namespace std;

int main()
{
    //构造
    set<int> s{ 2,6,8,3,6,9 };
    
    //遍历
    for (set<int>::iterator it = s.begin(); it != s.end(); it++)
        cout << *it;
    cout << endl;
    //输出:23689
    //输出???
    //set元素不能重复且自动从小到大排序

    //插入
    s.insert(1);
    s.insert(6);
    s.insert(8);
    s.insert(7);
    for (set<int>::iterator it = s.begin(); it != s.end(); it++)
        cout << *it;
    cout << endl;
    //输出:1236789

    //删除指定位置元素
    s.erase(++s.begin());
    for (set<int>::iterator it = s.begin(); it != s.end(); it++)
        cout << *it;
    cout << endl;
    //输出:136789

    //删除指定元素
    s.erase(7);
    for (set<int>::iterator it = s.begin(); it != s.end(); it++)
        cout << *it;
    cout << endl;
    //输出:13689

    //unordered_set不会自动排序,但速度较快
    unordered_set<int> us{ 2,6,8,3,6,9 };
    for (unordered_set<int>::iterator it = us.begin(); it != us.end(); it++)
        cout << *it;
    cout << endl;
    //输出:26839

    //unordered_set无法直接使用sort(),转成vector,见STL之map
    return 0;
}

原文链接:https://www.cnblogs.com/love-ziji/p/12790160.html
如有疑问请与原作者联系

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:STL之map

下一篇:每日干货丨C++语言主流开发工具推荐!