set 的详细用法(set 排序、set 的遍历、set 的多种倒序遍历方法、set 的基本成员函数)

目录

一:set 的简介

二:set的使用(要包含头文件)

1. set 的定义

2.set 的基本成员函数

3.set 的遍历

(1)迭代器 iterator(即升序输出)

(2)倒序输出

1. rbegin()和 rend()

2.当然,也可以逆向思维一下。

​^^3. 用 greater 实现降序排列

三:应用基本成员函数的代码

【总结】有上述代码可以看出,插入的数据是无序的,且包含重复的数据,但输出结果是有序的,由小到大依次输出,且不包含重复的,直观说明了 set 容器 “去重” 的特点,且说明了 set 容器是默认数据由低到高即升序来排列。

四:set 排序

这里主要讲存储结构体时该如何排序:要重载运算符

五:简单例题

六:总结


一:set 的简介

set 就是集合的意思,而集合的特点就是不会出现重复的内容,这也就是 set 容器存储数据的特点,即去重

二:set的使用(要包含头文件

1. set 的定义
set<存储的类型> mySet; 
2.set 的基本成员函数

insert()//插入元素
count()//count()计数,但 set 中没有重复元素,所以只能返回0或 1,所以可以用来判断容器中是否存在某个元素,若有返回1,否则0
size()//返回容器的尺寸,也可以是元素的个数
erase()//删除容器中某个元素
clear()//清空容器中的元素
empty()//判断容器是否为空 ,若是,返回 1,否则,返回 0
begin()//返回第一个节点的迭代器
end()//返回最后一个节点加 1 的迭代器 
rbegin()//反向迭代器 
rend()//反向迭代器

3.set 的遍历
(1)迭代器 iterator(即升序输出)
#include 
#include  
#include 
using namespace std;
int main()
{
	set mySet;
	// 
	mySet.insert(1);
	mySet.insert(3);
	mySet.insert(2);
    // 
    set::iterator it;//使用迭代器 
	for(it=mySet.begin();it!=mySet.end();it++)
	cout<<*it<<" "; 
	
}

set 的详细用法(set 排序、set 的遍历、set 的多种倒序遍历方法、set 的基本成员函数)_第1张图片

(2)倒序输出
1. rbegin()和 rend()

需要使用反向迭代器 reverse_iterator it

#include 
#include  
using namespace std;
int main()
{
	set mySet;
	// 
	mySet.insert(1);
	mySet.insert(3);
	mySet.insert(2);
    // 
    set::reverse_iterator it;//使用反向迭代器 
	for(it=mySet.rbegin();it!=mySet.rend();it++)
	cout<<*it<<" "; 
	
}

set 的详细用法(set 排序、set 的遍历、set 的多种倒序遍历方法、set 的基本成员函数)_第2张图片

你可能感兴趣的:(c++,c语言)