日期:2014-05-20 浏览次数:20789 次
import java.util.Collections;
import java.util.Iterator;
import java.util.LinkedList;
import java.util.List;
public final class Demo {
/*****************************************************************************
Description : 实现整数排序,即先将从A输入的整型数序列进行排序,剔除重复整型数,输出得到的升序序列B;
Input : array_A 输入参数,输入待排序整型数序列A
Return : 排序后的整型数序列
*****************************************************************************/
public static int[] sort(int []array_A)
{
if(array_A.length==0)
return null;
List<Integer> list=new LinkedList<Integer>();
for(int i=0;i<array_A.length;i++){
list.add(array_A[i]);
}
//排序
Collections.sort(list);
//去重
Iterator<Integer> i=list.iterator();
int x=0;
if(i.hasNext()){
x=i.next();
}
int y=0;
while(i.hasNext()){
y=i.next();
if(x==y){
i.remove();
}else{
x=y;
}
}
//将list转为int数组
int[] array_B=new int[list.size()];
int index=0;
Iterator<Integer> j=list.iterator();
while(j.hasNext()){
array_B[index++]=j.next();
}
return array_B;
}
}
public static int[] sort(int[] array_A) {
if (array_A.length == 0) {
return null;
}
Set<Integer> set = new TreeSet<Integer>();
for (int i = 0; i < array_A.length; i++) {
set.add(array_A[i]);
}
int[] array_B = new int[set.size()];
int index = 0;
for (Integer i: set) {
array_B[index++] = i;
}
return array_B;
}