链表的有序集合
Time Limit: 1000MS
Memory Limit: 65536KB
Problem Description
集合有一个重要的特性:互异性,即集合中任意两个元素都是不同的,互异性使得集合中的元素没有重复。给你 n 个包含重复数字的无序正整数序列,建立一个有序链表,链表中的结点按照数值非降序排列且不包含重复元素,输出该有序链表。
Input
输入包含多组测试数据,对于每组测试数据:
输入的第一行为一个正整数 n(1 ≤ n ≤ 100),
第二行为 n 个正整数 b1,b2,...,bn(0 ≤ bi ≤ 230)。
Output
对于每组测试数据,按照非降序输出链表的节点值。
Example Input
1 2 2 1 1 6 6 3 5 2 2 3
Example Output
2 1 2 3 5 6
import java.util.*;
public class Main {
public static void main(String[] args) {
Scanner in = new Scanner ( System.in );
while( in.hasNext() ){
int n = in.nextInt();
int []a = new int [n];
int i, j;
for( i=0; i<n; i++ )//输入n个数的数组a[]
a[i] = in.nextInt();
Arrays.sort( a );//对数组a进行从小到大的排序
System.out.print( a[0] );
for( i=1; i<n; i++ ){
boolean f = true;//用来判断是否已经存在该数
for( j=0; j<i; j++ ){
if( a[i]==a[j] ){
f = false;//已存在,不可以输出
break;
}
}
if( f )//不存在,输出该数
System.out.print(" "+a[i]);
}
System.out.println();
}
in.close();
}
}