Input Format

第一行:正整数nn,表示需要排序的数字的个数;

第二行:nn个正整数,代表需要排序的数字。

SRE实战 互联网时代守护先锋,助力企业售后服务体系运筹帷幄!一键直达领取阿里云限量特价优惠。

Output Format

输出共一行,nn个正整数,为从小到大排序后的结果。

Sample Input

3
2 1 3

Sample Output

1 2 3

Limits

n<10000n<10000,时间限制1000ms,内存限制30000kb。

 

解:普通的排序算法,可以自己写,可以用API中的现成方法

冒泡实现

import java.util.Scanner;
 
public class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int n = sc.nextInt();
        int[] data = new int[n];
        for (int i = 0; i < n; i++)
            data[i] = sc.nextInt();
 
        for (int i = 0; i < n - 1; i++) {
            for (int j = 0; j < n - i - 1; j++) {
                if (data[j] > data[j + 1]) {
                    int temp = data[j];
                    data[j] = data[j + 1];
                    data[j + 1] = temp;
                }
            }
        }
        for (int i = 0; i < n; i++)
            System.out.print(data[i] + " ");
 
    }
}

快排实现

import java.util.Scanner;
 
public class Main {
    static int[] data;
 
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int n = sc.nextInt();
        data = new int[n];
        for (int i = 0; i < n; i++)
            data[i] = sc.nextInt();
        quick(0, n - 1);
        for (int i = 0; i < n; i++)
            System.out.print(data[i] + " ");
 
    }
 
    static void quick(int head, int tail) {
        if (head < tail) {
            int p = sort(head, tail);
            quick(head, p - 1);
            quick(p + 1, tail);
        }
    }
 
 
    static int sort(int head, int tail) {
        int left = head;
        int rieht = tail + 1;
        int key = data[head];
        while (true) {
            while (data[++left] < key && left < tail) ;
            while (data[--rieht] > key) ;
            if (left >= rieht) break;
            int temp = data[left];
            data[left] = data[rieht];
            data[rieht] = temp;
        }
        data[head] = data[rieht];
        data[rieht] = key;
        return rieht;
    }
}

API实现

import java.util.Arrays;
import java.util.Scanner;
 
public class Main {
    static int[] data;
 
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int n = sc.nextInt();
        data = new int[n];
        for (int i = 0; i < n; i++)
            data[i] = sc.nextInt();
         Arrays.sort(data);
        for (int i = 0; i < n; i++)
            System.out.print(data[i] + " ");
    }
}

 

扫码关注我们
微信号:SRE实战
拒绝背锅 运筹帷幄