链表的有序集合(Treeset的使用)

Problem Description

  集合有一个重要的特性:互异性,即集合中任意两个元素都是不同的,互异性使得集合中的元素没有重复。给你 n 个包含重复数字的无序正整数序列,建立一个有序链表,链表中的结点按照数值非降序排列且不包含重复元素,输出该有序链表。

Input

输入包含多组测试数据,对于每组测试数据:

输入的第一行为一个正整数 n(1 ≤ n ≤ 100),

第二行为 n 个正整数 b1,b2,...,bn(0 ≤ bi ≤ 230)。

Output

对于每组测试数据,按照非降序输出链表的节点值。

Sample Input

1
2
2
1 1
6
6 3 5 2 2 3

Sample Output

2
1
2 3 5 6

Hint

Source

qinchuan

代码:

import java.util.*;

public class Main {
    
    public static void main(String[] args)
    {
        Scanner reader = new Scanner(System.in);
        Set set = new TreeSet<>();
        while(reader.hasNext())
        {
            set.clear();
            int n = reader.nextInt();
            for(int i=0;i<n;i++)
            {
                set.add(reader.nextInt());
            }
            int s = 0;
            for(Object i: set)
            {
                s++;
                System.out.print(s==set.size()?i+"\n":i+" ");
            }
        }
        reader.close();
    }
}
 

猜你喜欢

转载自blog.csdn.net/ACMerdsb/article/details/84032856