题目描述
给你 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
/**
* 正反排序
* 题目描述
* 给你 n 个数,让你将它们排序,有两种排序的方式,当m=0时,升序排列,当m=1时,降序排列。
* 输入格式
* 多组测试数据,每组第一行输入两个整数,n (0<n<1000),m。接下来输入n个数。
* 输出格式
* 输出排列后的结果,每两个数之间有一个空格,最后一个数后面没有空格,需要换行。
* 样例输入
* 5 1
* 5 2 4 3 1
* 5 0
* 5 2 4 3 1
* 样例输出
* 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) {
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){
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]+" ");
}
}
}
}