4.1练习题

1.排序

题目描述

对输入的n个数进行排序并输出。

输入

输入的第一行包括一个整数n(1<=n<=100)。 接下来的一行包括n个整数。

输出

可能有多组测试数据,对于每组数据,将排序后的n个整数输出,每个数后面都有一个空格。
每组测试数据的结果占一行。

样例输入

5
5 4 3 1 2

样例输出

1 2 3 4 5 


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

    static void selectSort(int[] list) {
        for (int i = 0; i < list.length; i++) {
            int k = i;
            for (int j = i; j < list.length; j++) {
                if (list[i] < list[k]) {
                    k = j;
                }
            }
            int temp = list[i];
            list[i] = list[k];
            list[k] = temp;
        }
    }

    static void pop(int[] list) {
        int temp = 0;
        for (int i = 0; i < list.length; i++) {
            boolean isSorted = true;
            for (int j = 0; j < list.length-1-i; j++) {
                if (list[j] > list[j + 1]) {
                    temp = list[j];
                    list[j] = list[j+1];
                    list[j+1] = temp;
                    isSorted = false;
                }
            }
            if (isSorted)
                break;
        }
    }
}


原文地址:https://www.cnblogs.com/xiaolan-/p/11813541.html