数字去重(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;
} 
相关推荐
顶点多余1 小时前
使用C/C++语言链接Mysql详解
数据库·c++·mysql
汉克老师1 小时前
GESP2026年3月认证C++四级( 第二部分判断题(1-10))
c++·指针·函数重载·文件操作·数组·gesp4级·gesp四级
khddvbe2 小时前
C++并发编程中的死锁避免
开发语言·c++·算法
菜菜小狗的学习笔记2 小时前
剑指Offer算法题(四)链表
数据结构·算法·链表
We་ct2 小时前
LeetCode 148. 排序链表:归并排序详解
前端·数据结构·算法·leetcode·链表·typescript·排序算法
wWYy.2 小时前
STL:list
开发语言·c++
小比特_蓝光3 小时前
vector模拟实现
c++
咱就是说不配啊3 小时前
3.19打卡day33
数据结构·c++·算法
2501_924952693 小时前
嵌入式C++电源管理
开发语言·c++·算法
2401_842623653 小时前
C++中的访问者模式高级应用
开发语言·c++·算法