蓝桥杯(Java)—— 基础训练 数列排序

问题描述

  给定一个长度为n的数列,将这个数列按从小到大的顺序排列。1<=n<=200

输入格式

  第一行为一个整数n。
  第二行包含n个整数,为待排序的数,每个整数的绝对值小于10000。

输出格式

  输出一行,按从小到大的顺序输出排序后的数列。

样例输入

5
8 3 6 4 9

样例输出

3 4 6 8 9

   第一次做的时候用的冒泡排序,百度之后,发现调用API的Arrays.sort()方法更简单。

import java.util.*; 
public class Main {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		// 冒泡排序
		Scanner input = new Scanner(System.in);
		int n = input.nextInt();
		int[] a = new int[n];
		for(int i = 0; i < n; i++) {
			a[i] = input.nextInt();
		}
        // 依次将较大的数排在数组最后
		for(int i = 0; i < n - 1; i++) {
			for(int j = 0; j < n - i - 1; j++) {
				if(a[j] > a[j+1]) {
					int swap = a[j+1];
					a[j+1] = a[j];
					a[j] = swap;
				}
			}
		}
		for(int i = 0; i < n; i ++) {
			System.out.print(a[i] + " ");
		}
		input.close();
	}

}

 下面是调用API代码:

import java.util.*;
public class Main {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		Scanner input = new Scanner(System.in);
		int n = input.nextInt();
		int[] in = new int[n];
		for(int i = 0; i < n; i++) {
			in[i] = input.nextInt();
		}
		Arrays.sort(in);
		for(int i = 0; i < n; i++) {
			System.out.print(in[i] + " ");
		}
		input.close();
	}

}
发布了18 篇原创文章 · 获赞 1 · 访问量 1003

猜你喜欢

转载自blog.csdn.net/qq_38969094/article/details/86705301