#P14003. 数据去重存储

数据去重存储

题目描述

设计 C++\verb|C++| 函数实现将输入的 nn 个整数去重后按照输入顺序依次存储到 vector\verb|vector| 中,并遍历输出 vector\verb|vector| 的所有元素。

设计一个 C++\verb|C++| 函数,函数名为 foo\verb|foo|,参数为 int n\verb|int n|,返回值类型是 vector<int>\verb|vector<int>|,函数中输入 nn 个整数,并将输入的 nn 个整数去重后按照输入顺序依次存储到的 vector\verb|vector|,最后返回该 vector\verb|vector|

设计一个 C++\verb|C++| 函数,函数名为 print\verb|print|,参数为 vector<int> v\verb|vector<int> v|,在函数体中遍历输出 v\verb|v| 的所有元素,元素间用一个空格隔开。

输入格式

11 行是 11 个正整数 nn

22 行是 nn 个整数,整数间用一个空格隔开。

输出格式

将输入的 nn 个整数去重后按照输入顺序依次输出,整数间用一个空格隔开。

输入输出样例

10
5 3 1 5 2 4 6 1 7 3
5 3 1 2 4 6 7

说明/提示

👀️ 本题需要你设计两个 C++\verb|C++| 函数来解决问题,提交代码模板如下:

#include<iostream>
#include<vector>
using namespace std;

//函数参数n与题目描述一致,返回值是题目要求的结果(函数头必须和模板一致)
vector<int> foo(int n) {
    //在函数中实现题目要求的效果
	vector<int> ans;
	//输入 n 个整数,并将输入的 n 个整数去重后按照输入顺序依次存储到ans中
  
	return ans;
}

//遍历输出vector<int>参数v的所有元素,函数头必须和模板一致
void print(vector<int> &v){
	//在函数中实现题目要求的效果

}

定义了这两个函数,在主函数中调用它就能解决问题,参考代码如下:

//----------------------------------------------------------------------------
//!!!本题要提交的代码从这里开始!!!
#include<iostream>
#include<vector>
using namespace std;

//函数参数n与题目描述一致,返回值是题目要求的结果(函数头必须和模板一致)
vector<int> foo(int n) {
    //在函数中实现题目要求的效果
	vector<int> ans;
	//输入 n 个整数,并将输入的 n 个整数去重后按照输入顺序依次存储到ans中
  
	return ans;
}

//遍历输出vector<int>参数v的所有元素,函数头必须和模板一致
void print(vector<int> &v){
	//在函数中实现题目要求的效果

}

//!!!本题要提交的代码到这里结束!!!
//----------------------------------------------------------------------------
#include<iostream>
int main(){
    int n;
    cin>>n;
    vector<int> ve = foo(n);
    print(ve);
	cout<<endl;
    return 0;
}

需要特别注意的是,本题提交的代码是定义函数的部分,不能提交完整的程序哦!


👀️ 对于100%100\%的数据,1n1000001 \leq n \leq 100000,输入的整数绝对值不超过 10910^9,每个测试点去重后的整数数量在 n/43n/4n/4~3n/4 范围内。