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]);
}
}
}