描述: |
要求:请实现对一整型数序列的排序操作。 需求: 1、对输入的整型数序列A,完成升序排列,将结果序列从B中输出。以整数值大小为关键字排序,即小数在前,大数在后。 2、当序列中存在多个同样大小的数时,输出序列中仅保留一个。
举例: 输入序列A:76,92,34,34,59,16,59,45 符合要求的输出序列B:16,34,45,59,76,92
约束: 1、输入的序列至少含有一个整型数,否则应该返回null; 2、输入序列中的整数值使用int类型;
/*****************************************************************************
|
package huawei;
import java.util.Arrays;
import java.util.Vector;
public final class Demo {
/*****************************************************************************
Description : 实现整数排序,即先将从A输入的整型数序列进行排序,剔除重复整型数,输出得到的升序序列B;
Input : array_A 输入参数,输入待排序整型数序列A
Return : 排序后的整型数序列
*****************************************************************************/
public static int[] sort(int []array_A)
{
if (array_A == null)
{
return null;
}
/*创建数组并复制*/
int[] temp = new int[array_A.length];
System.arraycopy(array_A, 0, temp, 0, array_A.length);
Arrays.sort(temp);
Vector<Integer> vec = new Vector<Integer>();
for(int i = 0; i < temp.length; i++)
{
if(!vec.contains(temp[i]))
{
vec.addElement(temp[i]);
}
}
int ret[] = new int[vec.size()];
vec.clear();
for(int i = 0, j = 0; i < temp.length; i++)
{
if(!vec.contains(temp[i]))
{
vec.addElement(temp[i]);
ret[j++] = temp[i];
}
}
return ret;
}
}