当前位置: 移动技术网 > IT编程>开发语言>C/C++ > STL之set

STL之set

2020年04月28日  | 移动技术网IT编程  | 我要评论

血战丛林,桑兰简介,东南亚地图

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;
}

如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复

相关文章:

验证码:
移动技术网