c++ set集合的使用方法详解
2023-06-13 09:11:53 时间
大家好,又见面了,我是你们的朋友全栈君。
set集合是c++ stl库中自带的一个容器,set具有以下两个特点:
1、set中的元素都是排好序的
2、set集合中没有重复的元素
常用操作:
begin() 返回set容器的第一个元素的地址
end() 返回set容器的最后一个元素地址
clear() 删除set容器中的所有的元素
empty() 判断set容器是否为空
max_size() 返回set容器可能包含的元素最大个数
size() 返回当前set容器中的元素个数
erase(it) 删除迭代器指针it处元素
insert(a) 插入某个元素
#include<stdio.h>
#include<set>
using namespace std;
int main()
{
set<int>s;
s.insert(3);
s.insert(1);
s.insert(2);
s.insert(1);
set<int>::iterator it;
for(it=s.begin();it!=s.end();it++) //使用迭代器进行遍历
{
printf("%d\n",*it);
}
return 0;
}
//输出结果 : 1 2 3 一共插入了4个数,但是集合中只有3个数并且是有序的,可见之前说过的set集合的两个特点,有序和不重复。
当set集合中的元素为结构体时,该结构体必须实现运算符‘<’的重载
#include<stdio.h>
#include<set>
#include<string>
using namespace std;
struct People
{
string name;
int age;
bool operator <(const People p) const //运算符重载
{
return age<p.age; //按照年龄由小到大进行排序
}
};
int main()
{
set<People>s;
s.insert((People){"张三",14});
s.insert((People){"李四",16});
s.insert((People){"王二麻子",10});
set<People>::iterator it;
for(it=s.begin();it!=s.end();it++) //使用迭代器进行遍历
{
printf("姓名:%s 年龄:%d\n",(*it).name.c_str(),(*it).age);
}
return 0;
}
/*
输出结果
姓名:王二麻子 年龄:10
姓名:张三 年龄:14
姓名:李四 年龄:16
*/
可以看到结果是按照年龄由小到大的顺序排列。
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/138538.html原文链接:https://javaforall.cn
相关文章
- C++ Primer Plus习题及答案-第五章
- C++结构体和类的区别_c++有结构体吗
- 【C++ 语言】容器 ( queue 队列 | stack 栈 | priority_queue 优先级队列 | set 集合 | 容器遍历 | map )
- 【C++】红黑树封装实现 map 和 set
- C++ 夺冠!成为 TIOBE 2022 年度编程语言
- 【C++】多态
- 【C++】开散列哈希表封装实现unordered_map和unordered_set
- 开心档之C++ 数组
- ORA-47407: ALWAYS AUDIT option set for Rule Set string ORACLE 报错 故障修复 远程处理
- C/C++在Java、Android和Objective-C三大平台下实现混合编程详解编程语言
- C++ queue(STL queue)用法详解
- C++ adjacent_find(STL adjacent_find)算法使用详解
- 调查:Java程序员最伤心,C++程序员最年老
- 深入探究Linux Set命令:使用及常见应用(linux的set)
- MySQL 中SET的用法及其重要性(mysql中的set)
- MySQL中使用SET字段类型的方法及注意事项(mysql中使用set)
- Redis的Set数据结构的获取(set的获得redis)
- 重塑Redis Set,实现进一步发挥功能(修改redis set)
- 红色梦幻搭建Redis集群模式SET(redis集群模式set)
- Oracle中SET的威力轻松实现赋值(oracle中set赋值)
- Oracle中掌握SET语句让你如虎添翼(oracle中set语句)
- Redis比Set更快更高效(redis比set高效)
- C++基础入门教程(一):基础知识大杂烩