题目描述
输入n个整数的序列,要求对这个序列进行去重操作。所谓去重,是指对这个序列中每个重复出现的整数,只保留该数第一次出现的位置,删除其余位置。
输入描述:
输入包含两行,第一行包含一个正整数n(1 ≤ n ≤ 1000),表示第二行序列中数字的个数;第二行包含n个整数(范围1~5000),用空格分隔。
输出描述:
输出为一行,按照输入的顺序输出去重之后的数字,用空格分隔。
示例1
输入
5 10 12 93 12 75
输出
10 12 93 75
#include<bits/stdc++.h>
using namespace std;
int main()
{
int n,a[1000],b[1000];
cin>>n;
for(int i=0;i<n;i++)
{
cin>>a[i];
}
int m=0;//记录数组B存了多少个元素
for(int i=0;i<n;i++)
{
int j=0;
for(;j<m;j++)
{
if(a[i]==b[j])//拿a[i]依次与数组B里的元素相比
break;//找到了相同的就break
}
if(j==m)
{
//没有找到一个相同的,把a中元素放入b中
b[m]=a[i];
m++;
}
}
for(int i=0;i<m;i++)
{
cout<<b[i]<<" ";
}
return 0;
}