给定一个数组,组内有重复的元素,如何输出元素不重复的数组呢?
#include <iostream>
using namespace std;
int main()
{
int arr[]= {2,2,2,2,0,1,2,5,7,5,4,2,8};
int size=sizeof(arr)/sizeof(arr[0]);
int vis[size]= {0};//定义一个标记数组
for(int i=0; i<size; i++)
{
if(vis[i]==1)
//标记过的数直接不看,也避免后续重复标记浪费时间
{
continue;
}
else
{
for(int j=i+1; j<size; j++)
{
if(arr[i]==arr[j])
{
vis[j]=1;//对下标为j的元素进行标记
}
}
if(vis[i]==0)//只输出未标记的数
{
cout<<arr[i]<<" ";
}
}
}
return 0;
}