数字去重(set)

题目描述

给出一个包含 n 个元素的数组 A,去掉 A 中重复的数字并从小到大排序输出。

输入格式

第一行:1个数n表示数组的长度(2 <= n <= 100000)。 第2至n+1行:每行1个数,对应数组的元素(1<= a[i] <= 10^9)

输出格式

输出去重并从小到大排序好的数组,每行一个数。

样例

【样例输入】

复制代码
5
10
8
7
8
10

【样例输出】

复制代码
7
8
10
数据范围与提示

2 <= n <= 100000 1<= a[i] <= 10^9

一些想法

这道题用 set 容器做是非常简单的,只用输入数后,直接丢入set 容器,然后再用迭代器输出就行了,而 set 容器和迭代器会自动去重和排序。

详细请看代码中的注释

AC代码

cpp 复制代码
#include<bits/stdc++.h>
using namespace std;
int main(){
	int n;
	cin>>n;
	set<int> s;
	for(int i=1;i<=n;i++){
		int a;
		cin>>a;
		s.insert(a);//将a插入set中,自动去重
	}
	set<int>::iterator it;//声明set的迭代器
	for(it=s.begin();it!=s.end();it++){//遍历set
		cout<<*it<<endl;// 输出当前元素,自动按升序排列
	}
	return 0;
} 
相关推荐
W23035765735 小时前
经典算法:最长上升子序列(LIS)深度解析 C++ 实现
开发语言·c++·算法
.Ashy.5 小时前
2026.4.11 蓝桥杯软件类C/C++ G组山东省赛 小记
c语言·c++·蓝桥杯
2401_892070986 小时前
链栈(链式栈) 超详细实现(C 语言 + 逐行精讲)
c语言·数据结构·链栈
minji...6 小时前
Linux 线程同步与互斥(三) 生产者消费者模型,基于阻塞队列的生产者消费者模型的代码实现
linux·运维·服务器·开发语言·网络·c++·算法
CoderCodingNo9 小时前
【GESP】C++三级真题 luogu-B4499, [GESP202603 三级] 二进制回文串
数据结构·c++·算法
网安INF9 小时前
数据结构第三章:栈、队列和数组
数据结构
hetao173383710 小时前
2026-04-09~12 hetao1733837 的刷题记录
c++·算法
6Hzlia10 小时前
【Hot 100 刷题计划】 LeetCode 136. 只出现一次的数字 | C++ 哈希表&异或基础解法
c++·算法·leetcode
汉克老师10 小时前
GESP2024年6月认证C++三级( 第二部分判断题(1-10))
c++·数组·位运算·补码·gesp三级·gesp3级
yuannl1011 小时前
数据结构----双端队列实现
数据结构