描述

在C++里,有一个神奇的东西,叫做STL,这里提供了很多简单好用的容器,用来实现常用又很难书写的数据结构,如栈(stack)等。其中,有一个容器叫set,译作“有序集合”。首先,这是一个集合,所以不存在相同的元素,其次,集合中的元素按从小到大排列。 现在,需要你把一列不符合“有序集合”要求的整数规范化,通过以下两个步骤: 1、去重:去掉重复的元素 2、排序:按从小到大顺序将元素排序 请问,最终得到的有序集合是怎样的呢?

输入

第一行包含一个正整数T (1≤T≤100),表示有T组测试用例。 每组用例有两行,第一行包含一个正整数N(1≤N≤100),第二行有N个正整数,以空格分隔,表示未规范成“有序集合”的数列。每个正整数不超过1000.

输出

每组用例输出一行,表示规范后的“有序集合”,数字以空格分隔。

样例输入

2

4

1 25 640 1000

10

20 40 32 67 40 20 89 329 400 15

样例输出

1 25 640 1000

15 20 32 40 67 89 329 400

#include<iostream>
#include<algorithm>
using namespace std;
int main()
{
//freopen("a.txt","r",stdin);
int t;
cin>>t;
while(t--)
{
int n,*a,i,j;
cin>>n;
a=(int *)malloc(n*sizeof(int));
memset(a,0,sizeof(a));
for(i=0;i<n;i++)
cin>>a[i];
for(i=0;i<n;i++)
for(j=i;j<n;j++)
if(a[i]>a[j])
swap(a[i],a[j]);
for(i=0;i<n;i++)
{
while(a[i]==a[i+1])
{
for(j=i;j<n;j++)
a[j]=a[j+1];
n--;
}
}
for(i=0;i<n-1;i++)
cout<<a[i]<<" ";
cout<<a[n-1]<<endl;
}
return 0;
}

  

1988-B. 有序集合的更多相关文章

  1. Redis命令拾遗五(有序集合)

    本文版权归博客园和作者吴双本人共同所有,博客园蜗牛NoSql系列分享 http://www.cnblogs.com/tdws/tag/NoSql/ Sorted Set 有序集合—Sorted Set ...

  2. Redis常用命令入门5:有序集合类型

    有序集合类型 上节我们一起学习了集合类型,感受到了redis的强大.现在我们接着学Redis的最后一个类型——有序集合类型. 有序集合类型,大家从名字上应该就可以知道,实际上就是在集合类型上加了个有序 ...

  3. Redis从基础命令到实战之有序集合类型(SortedSet)

    有序集合类型是Redis五种数据类型中最高级的.也是最复杂的类型.有序集合具有集合类型的特性,在其基础上给每个元素关联了一个分值,或称为权重,操作时既可以在添加元素时指定分值,也可以单独修改集合中某一 ...

  4. 15天玩转redis —— 第六篇 有序集合类型

    今天我们说一下Redis中最后一个数据类型 “有序集合类型”,回首之前学过的几个数据结构,不知道你会不会由衷感叹,开源的世界真好,写这 些代码的好心人真的要一生平安哈,不管我们想没想的到的东西,在这个 ...

  5. .net学习笔记----有序集合SortedList、SortedList<TKey,TValue>、SortedDictionary<TKey,TValue>

    无论是常用的List<T>.Hashtable还是ListDictionary<TKey,TValue>,在保存值的时候都是无序的,而今天要介绍的集合类SortedList和S ...

  6. SortedSet有序集合类型

    SortedSet相当于C#中的SortDictionary类型,表示一个有序集合. 常用操作有,zadd命令将一个或多个元素及其score值加入到有序集key中. zrange命令返回有序集key中 ...

  7. [Effective JavaScript 笔记]第46条:使用数组而不要使用字典来存储有序集合

    对象属性无序性 js对象是一个无序属性集合. var obj={}; obj.a=10; obj.b=30; 属性a和属性b并没有谁前谁后之说.for...in循环,先输出哪个属性都有可能.获取和设置 ...

  8. Redis 四:存储类型之有序集合

    有序集合似乎更大的操作是由于加了一个叫做“分子”的东西 事实上就好像普通的数据,只是为这个数据加了一个纯数字的标识, 通过操作这些标识来得到我们想要的数据! 分子可以是整形,也可以是双精度浮点型: = ...

  9. Redis 有序集合(sorted set)

    Redis 有序集合和集合一样也是string类型元素的集合,且不允许重复的成员. 不同的是每个元素都会关联一个double类型的分数.redis正是通过分数来为集合中的成员进行从小到大的排序. 有序 ...

随机推荐

  1. Memcached学习(三)

    通过Java客户端实现与Memcached的交互,Java客户端的实现了使用了开源的Memcached-Java-Client,开源地址在GitHub上. 如下是通过该开源库实现的Memcached交 ...

  2. Cocos2d-x中SQLite数据库管理工具

    数据库创建完成后,我们可能需要看看数据库中数据是否成功插入,很多人喜欢使用图形界面工具来管理SQLite数据库.SQLite图形界面管理工具有很多,我推荐使用SQLiteStudio工具,下载地址ht ...

  3. Objective-C 【关于导入类(@class 和 #import的区别)】

    之前我们分析过 #include 和 #import 的区别,#import不会引起交叉编译,#import 确定一个文件只能被导入一次,使在递归包含中不会出现问题. 那么 #import 和 @cl ...

  4. OC2_引用计数

    // // Dog.h // OC2_引用计数 // // Created by zhangxueming on 15/6/18. // Copyright (c) 2015年 zhangxuemin ...

  5. 关于FPGA(verilog)电平检测模块的易错点分析

    reg F1,F2; // F2 Previous State, F1 Current State always@(posedge CLK or negedge RSTn) if(!RSTn) beg ...

  6. ftp上传java代码

    <欢迎转载http://www.cnblogs.com/shizhongtao/p/3345826.html> 上传代码就写个简单的小例子.首先要加入jar包.commons-net-1. ...

  7. 选择问题(选出第i个最小元素)

    通过分治法解决的分析(还有其他方法解决选择问题如使用 堆) 1 同快速排序一样,对输入的数组进行递归分解 不同的是:快速排序会递归处理分解的两边,而选择问题只处理需要的一边 2 选择问题的期望时间代价 ...

  8. 何谓IOC的核心思想

    IOC(Inversion of Control)即控制反转,是在面试或平常交流中经常遇到了词汇:我也曾经仿照Spring,利用JDK的反射和动态代理实现了一个简单的IOC框架,感觉算是知其然也知其所 ...

  9. 译文:javascript function中的this

    个人理解+google翻译.如有错误,请留言指正.原文来自MDN: this 简介 Javascript中一个函数的this关键字的行为相对其它语言有些不同.在严格模式和非严格模式间也有区别. 在大多 ...

  10. 解决ionic在ios无法使用focus,ios focus失效的问题

    最近也偷懒,很久没有写博客了.今天在项目中遇到了这个奇葩的问题,基于ionic的ios的hybird APP 无法使用focus()获取焦点和键盘的问题. 问题:基于ionic的ios的hybird ...