STL---对于set中元素是否有序的探究

本文通过几个示例详细介绍了C++标准库中的set容器的基本使用方法,包括元素的插入、迭代器的应用以及如何利用set进行排序。同时展示了如何将set容器应用于更复杂的数据结构如set的集合,并解释了这些容器如何保持元素的独特性和有序性。
#include "iostream"
#include "set"
using namespace std;

int main()
{
    set<int> s;
    s.insert(1);
    s.insert(3);
    s.insert(2);
    set<int>::iterator it;
    it = s.begin();
    while(it != s.end())
    {
        cout << (*it) << endl;
        it++;
    }
    return 0;
}

这里写图片描述

可见,当元素加入set中后,已经排好序

#include "iostream"
#include "set"
using namespace std;

int main()
{
    set<int> s[2];
    set< set<int> > S;
    s[0].insert(4);
    s[0].insert(3);
    s[1].insert(2);
    s[1].insert(1);
    set<int>::iterator it;
    S.insert(s[0]);
    S.insert(s[1]);

    set< set<int> >::iterator it1;
    set<int>::iterator it2;
    for(it1=S.begin(); it1!=S.end(); it1++)
    {
        for(it2=(*it1).begin(); it2!=(*it1).end(); it2++)
            cout << *it2 << " ";
        cout << endl;
    }
    cout << endl;

    return 0;
}

这里写图片描述

集合之间也会排序

#include "iostream"
#include "vector"
#include "set"
#include "algorithm"
using namespace std;

int main()
{
    set<int> s[2];
    set< set<int> > S;
    s[0].insert(1);
    s[0].insert(2);
    s[1].insert(1);
    s[1].insert(2);
    set<int>::iterator it;
    S.insert(s[0]);
    S.insert(s[1]);

    set< set<int> >::iterator it1;
    set<int>::iterator it2;
    for(it1=S.begin(); it1!=S.end(); it1++)
    {
        for(it2=(*it1).begin(); it2!=(*it1).end(); it2++)
            cout << *it2 << " ";
        cout << endl;
    }
    cout << endl;

    return 0;
}

这里写图片描述

集合整体也不能重复

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值