数字去重(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;
} 
相关推荐
byxdaz11 小时前
C++内存序
c++
iuu_star11 小时前
C语言数据结构-顺序查找、折半查找
c语言·数据结构·算法
优雅的潮叭11 小时前
c++ 学习笔记之 malloc
c++·笔记·学习
漫随流水11 小时前
leetcode算法(515.在每个树行中找最大值)
数据结构·算法·leetcode·二叉树
苦藤新鸡13 小时前
8.最长的无重复字符的子串
c++·力扣
꧁Q༒ོγ꧂14 小时前
C++ 入门完全指南(四)--函数与模块化编程
开发语言·c++
汉克老师14 小时前
GESP2025年12月认证C++八级真题与解析(判断题8-10)
c++·快速排序··lcs·gesp八级·gesp8级
qq_4335545414 小时前
C++ manacher(求解回文串问题)
开发语言·c++·算法
HL_风神15 小时前
设计原则之迪米特
c++·学习·设计模式
HL_风神15 小时前
设计原则之合成复用
c++·学习·设计模式