1119: 一维数组排序 Java

1119: 一维数组排序
时间限制: 1 Sec 内存限制: 128 MB
提交: 14194 解决: 9350
[状态] [讨论版] [提交] [命题人:admin]
题目描述
对一维数组按照从小到大的顺序排序。程序定义函数sort()来实现数组a的排序。函数原型如下:
void sort(int a[], int n);
数组元素的输出调用PrintArr()。
输入
第一行输入一个整数n(1<=n<=10),表示数组有n个整数;第二行输入n个整数。
输出
输出占一行。对这n个整数数按照从小到大的顺序输出,数据之间用一个空格隔开。
样例输入 Copy
6
6 5 1 2 3 4
样例输出 Copy
1 2 3 4 5 6

import java.util.Scanner;
 
// 一维数组排序
public class Main {
    
    
 
    public static void main(String[] args) {
    
    
        // 创建Scanner对象input
        Scanner input = new Scanner(System.in);
        // 输入n
        int n = input.nextInt();
        // 创建数组a
        int [] a = new int[n];
         
        for(int i = 0; i < n; i++) {
    
    
            // 输入n个整数
            a[i] = input.nextInt();
        }
         
        // 调用方法sort实现排序
        sort(a, n);
        // 调用方法输出数组元素
        PrintArr(a, n);
        input.close();
 
    }
     
     
    // 方法对数组进行从小到大的顺序排序
    public static void sort(int [] a, int n) {
    
    
        int t = 0;
        for(int i = 0; i < n - 1; i++)
            for(int j = i + 1; j < n; j++) {
    
    
                // 比较交换位置
                if(a[j] < a[i]) {
    
    
                    t = a[i];
                    a[i] = a[j];
                    a[j] = t;
                }
            }
    }
     
     
    // 方法输出数组元素
    public static void PrintArr(int [] a, int n) {
    
    
        for(int i = 0; i < n; i++) {
    
    
            System.out.printf("%d ", a[i]);
        }
    }
 
}

Guess you like

Origin blog.csdn.net/m0_45306379/article/details/121466458