保持顺序去重

样例输入

5
10 12 93 12 75

样例输出

10 12 93 75
#include <iostream>
#include <string>
#include <algorithm>
#include <map>
using namespace std;

int a[1005],b[1005];
int main()
{
	int n;
    cin >> n;
    map<int, int>m;
    for( int i = 0; i < n ; i++ ) 
       {
         	cin >> a[i] ;
		} 
         
   for(int i=0;i<n;i++)
   {
       b[a[i]]++;
   	 if(b[a[i]]==1)
   	 {
   	 	cout<<a[i]<<" ";
   	 	 
	 }
	  
   }
   //cout<<sum<<endl;
    return 0;
}

  

#include <iostream>
#include <string>
#include <algorithm>
#include <map>
using namespace std;

int a[1005],b[1005];
int main()
{
	int n;
    cin >> n;
     
    for( int i = 0; i < n ; i++ ) 
       {
         	cin >> x ;
         	if(!a[i])
         	{
         	  	a[x]=1;
         	  	t++;
         	  	b[t]=x;
			}
		} 
        
    for(int i=1;i<=t-1;i++)
      cout<<b[i]<<" ";
   
    return 0;
}
 

  

#include <iostream>
#include <string>
#include <algorithm>
#include <map>
using namespace std;

int a[1005],b[1005];
int main()
{
	int n;
    cin >> n;
     
    for(int i=0;i<n; i++ ) 
         cin>>a[i];
	 
        
    for(int i=0;i<n;i++)
    {
    	for(int j=i+1;j<n;j++)
    	{
    		if(a[i]==a[j])
    		   a[j]=0;
		}
	}
	for(int i=0;i<n;i++)
	{
		if(a[i]!=0)
		  cout<<a[i]<<" ";
	}
    return 0;
}

  

posted @ 2018-11-20 21:27  道微真理  阅读(259)  评论(0编辑  收藏  举报