2015华为机试—— 整型数排序

本文详细介绍了如何对整型数序列进行排序,并通过实例演示了排序过程,包括去重及升序排列。采用HashMap实现去重操作,确保输出序列唯一且有序。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

要求:请实现对一整型数序列的排序操作。

需求:

1、对输入的整型数序列A,完成升序排列,将结果序列从B中输出。以整数值大小为关键字排序,即小数在前,大数在后。

2、当序列中存在多个同样大小的数时,输出序列中仅保留一个。

    

举例:

    输入序列A:76,92,34,34,59,16,59,45

    符合要求的输出序列B:16,34,45,59,76,92

 

约束:

       1、输入的序列至少含有一个整型数,否则应该返回null;

       2、输入序列中的整数值使用int类型;

  • 接口说明

/*****************************************************************************
 Description : 实现整数排序,即先将从A输入的整型数序列进行排序,剔除重复整型数,输出得到的升序序列B;
 Input       : array_A                 输入参数,输入待排序整型数序列A
 Return      : 排序后的整型数序列
 *****************************************************************************/
 public static int[] sort(int []array_A)
 {
     return null;
 }


解题思路:先进行排序,然后使用HashMap进行去重。


代码如下:


public class paixu
{

	/**
	 * @param args
	 */
	public static void main(String[] args)
	{
		int[] a={76,92,34,34,59,16,59,45};
		sort(a);
	}
	
	public static int[] sort(int []array_A)
	{
		int count=0;
	    if(array_A==null)
	    {
	    	return null;
	    }
	    int len=array_A.length;
	    for (int i = len-1; i >0; i--)
		{
			for (int j = 0; j < i; j++)
			{
				if (array_A[j]>array_A[j+1])
				{
					int temp=array_A[j];
					array_A[j]=array_A[j+1];
					array_A[j+1]=temp;
				}
			}
		}
	    Map<Integer,Integer> hm=new HashMap<Integer,Integer>();
	    for (int i = 0; i < len; i++)
		{
			if (!hm.containsValue(array_A[i]))
			{
				hm.put(count, array_A[i]);
				count++;
			}
		}
	    int[] output=new int[count];
	    for (int i = 0; i < count; i++)
		{
			output[i]=hm.get(i);
		}
	    return output;
	    
	}	

}



评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值