set和map的增删查改

本文详细介绍了C++中的set和map容器的使用方法,包括增、删、查、改操作。set用于存储唯一元素并自动排序,map则为键值对的映射。文中列举了各种相关函数,如insert、find、erase等,并通过实例展示了正向遍历、反向遍历、元素插入、删除和查找等操作。
摘要由CSDN通过智能技术生成

一,set用法介绍:
set是单词set(集合)的意思
只有一个键值,set当中不能存储相同的键值
所有的元素都会根据元素的键值自动被排序。(底层检索使用中序遍历算法)

相关函数:

(1)begin:返回一个迭代器,此迭代器指向set中到的第一个元素。
(2)end:返回一个迭代器,此迭代器指向set最后一个元素的下一个位置。
(3)rbegin:返回一个迭代器,此迭代器指向反向set中的第一个元素。
(4)rend:返回一个迭代器,此迭代器指向反向set中最后一个元素之后的位置。
(5)cbegin:返回一个常量迭代器,此迭代器指向set中到的第一个元素。
(6)cend:返回一个迭代器,此迭代器指向set最后一个元素的下一个位置。 (7)clear:清除set的所有元素。
(8)crbegin:返回一个常量迭代器,此迭代器指向反向set中的第一个元素。
(9)crend:返回一个常量迭代器,此迭代器指向反向set中最后一个元素之后的位置。
(10)find:返回一个迭代器,此迭代器指向set中其键与指定键相等到的元素的位置。
(11)insert:将元素或元素范围插入到set中的指定位置。 (12)size:返回set中元素的数量。
(13)swap:交换两个set的元素。

(1)插入(正向遍历):
采用insert()方法把元素插入到集合中,一般按元素值从小到大插入。使用前向迭代器对集合中序遍历,结果正好是元素排序后的结果。

#include<iostream>
#include<set>
using namespace std;
int main()
{
    set<int> s;//创建set集合对象
    s.insert(5);
    s.insert(1);
    s.insert(6);
    s.insert(3);
    s.insert(5);//重复插入5,会失效
    set<int>::iterator it;//定义前向迭代器
    for(it = s.begin();it!=s.end();it++)
    {
        cout<<* it<<" ";
    }
    cout<<endl;
    return 0;
}

输出:1 3 5 6
(2)反向遍历:
使用反向迭代器reverse_iterator可以反向遍历集合,输出的结果正好是集合元素的反向排序结果。它需要用到rbegin()和rend()两个方法,它们分别给出了反向遍历的开始位置和结束位置。

#include<iostream>
#include<set>
using namespace std;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值