2019-数列有序(java)

在这里插入图片描述
思路:这道题最终是要在n个数的基础上再加一个m,所以直接建立一个N+1长度大小的数组,可以将m直接放在首位,剩下的n个位置,填放已知数列,再使用数组排序方法即可。

import java.util.*;
public class Main {
    
    
public static void Main(String[] args) {
    
    
	Scanner a=new Scanner(System.in);
	while(a.hasNext())
	{
    
    
		int n=a.nextInt();
		int m=a.nextInt();
		if(n==0&&m==0)
			break;
		int sort=0;
		int[] nnn=new int[n+1];//这道理重点在这儿
						//建立数组时多加一个位置放m于首位
						//然后再剩下来的n个位置里放已知数列
						//然后再使用Arrays.sort()直接将整个数组排序
						//输出即可
		nnn[0]=m;
		for(int i=1;i<nnn.length;i++) {
    
    
			nnn[i]=a.nextInt();
			if(nnn[i]>m)
				sort=i;
		}
		Arrays.sort(nnn);
		for(int j=0;j<nnn.length;j++) {
    
    
			if(j==0)
				System.out.print(nnn[j]);
			else
				System.out.print(" "+nnn[j]);
			
		}System.out.println();
	}
	
}
}

我原来使用的是list,但是代码量较大。
若有错误,还请指正

猜你喜欢

转载自blog.csdn.net/weixin_45956604/article/details/113757327