题目描述
输入整型数组和排序标识,对其元素按照升序或降序进行排序(一组测试用例可能会有多组数据)
本题有多组输入,请使用while(cin>>)处理
输入描述
第一行输入数组元素个数
第二行输入待排序的数组,每个数用空格隔开
第三行输入一个整数0或1。0代表升序排序,1代表降序排序
输出描述
输出排好序的数字
示例
输入:
8
1 2 4 9 3 55 64 25
0
5
1 2 3 4 5
1
输出:
1 2 3 4 9 25 55 64
5 4 3 2 1
代码
import java.util.*;
public class Main{
public static void main(String[] args) {
Scanner sc=new Scanner(System.in);
while(sc.hasNext()){
int n=sc.nextInt();
int a[]=new int[n];
for(int i=0;i<n;i++){
a[i]=sc.nextInt();
}
int flag=sc.nextInt();
if (flag==0) {
Arrays.sort(a); //升序直接用Arrays排序方法
}
if (flag==1) {
Arrays.sort(a); //降序先升序,再二分换位
int l = a.length-1;
if(n%2 == 0){ //判断元素个数奇偶
for(int i=0; i<(n/2); i++){
int temp=a[i];
a[i]=a[l-i];
a[l-i]=temp;
}
}
else{
for(int i=0; i<((n-1)/2); i++){
int temp=a[i];
a[i]=a[l-i];
a[l-i]=temp;
}
}
}
for(int i=0;i<a.length;i++){
System.out.print(a[i]);
if (i!=a.length-1) {
System.out.print(" ");
}
}
System.out.println(); //最后再换行
}
}
}
Java程序实现数组排序
该博客介绍了如何使用Java实现整型数组的排序。通过读取输入的数组元素个数、数组本身以及排序方式(升序或降序),利用Arrays.sort()函数对数组进行排序。在降序排序时,先进行升序排序,然后根据数组长度的奇偶性进行适当的元素交换,以完成降序排列。示例展示了两种不同排序方式的输出结果。
1365





