1448: 正反排序
时间限制:1s 内存限制:128MB
题目描述
给你 n 个数,让你将它们排序,有两种排序的方式,当m=0时,升序排列,当m=1时,降序排列。
输入格式
多组测试数据,每组第一行输入两个整数,n (0<n<1000),m。接下来输入n个数。
输出格式
输出排列后的结果,每两个数之间有一个空格,最后一个数后面没有空格,需要换行。
样例输入content_copy
5 1
5 2 4 3 1
5 0
5 2 4 3 1
样例输出content_copy
5 4 3 2 1
1 2 3 4 5
import java.util.*;
public class Main {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
while (input.hasNext()) {
int n = input.nextInt();
int m = input.nextInt();
int[] a = new int[n];
if (m == 1) {//m == 1 时降序排序
for (int i = 0; i < a.length; i++) {
a[i] = input.nextInt();
}
for (int i = 0; i < a.length; i++) {
for (int j = i + 1; j < a.length; j++) {
if (a[i] < a[j]) {
int t = a[i];
a[i]=a[j];
a[j]=t;
}
}
}
}
if (m==0){//m ==0 时升序排序
for (int i = 0; i < a.length; i++) {
a[i] = input.nextInt();
}
for (int i = 0; i < a.length; i++) {
for (int j = i + 1; j < a.length; j++) {
if (a[i] > a[j]) {
int t = a[i];
a[i]=a[j];
a[j]=t;
}
}
}
}
for (int i=0;i<a.length;i++){
System.out.print(a[i]+" ");
}
}
}
}