九度oj 1041

数组排序与去重算法
本文介绍了一种用于处理整数数组的算法,该算法能够实现数组排序并去除重复元素的功能。具体而言,通过逐个比较数组中的元素来避免重复,并使用标准库中的sort函数完成排序过程。
题目描述:

You are given an unsorted array of integer numbers. Your task is to sort this array and kill possible duplicated elements occurring in it.

输入:

For each case, the first line of the input contains an integer number N representing the quantity of numbers in this array(1≤N≤1000). Next N lines contain N integer numbers(one number per each line) of the original array.

输出:

For each case ,outtput file should contain at most N numbers sorted in ascending order. Every number in the output file should occur only once.

样例输入:
6
8 8 7 3 7 7
样例输出:
3 7 8
来源:

2008年上海交通大学计算机研究生机试真题

#include<iostream>
#include<algorithm>
#include<stdlib.h>
using namespace std;
int main()
{
 int n;
 int a[1001];
 int b[1001];
 while(cin>>n)
 {
             for(int y=0;y<n;y++)
             {
                     cin>>b[y];
                     }
                     a[0]=b[0];
                     int cnt=0,i=1;
              for(int q=1;q<n;q++)
              {
                      
                      int s=b[q];
                      
                                 
                      int flag=0;
                      for(int j=0;j<i;j++)
                      {
                              if(s==a[j])
                              {
                                         flag=1;
                                         break;
                                         }
                                         }
                                         if(flag==0)
                                         {
                                                    a[i++]=s;
                                                    continue;
                                                    }
                                                    if(flag==1)
                                                    {
                                                               
                                                           continue;    
                                                               } 
                                                               
                                                    }
                                                    
                                                    
                                                    sort(a,a+i);
                                                    for(int p=0;p<=i-2;p++)
                                                    {
                                                            cout<<a[p]<<" ";
                                                            }
                                                            cout<<a[i-1]<<endl;
                                                            }
                                                            } 


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值