题解 | #对其元素按照升序或降序进行排序#
输入整型数组和排序标识,对其元素按照升序或降序进行排序
https://www.nowcoder.com/practice/dd0c6b26c9e541f5b935047ff4156309
import java.util.*;
// 注意类名必须为 Main, 不要有任何 package xxx 信息
public class Main {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
int n= in.nextInt();
int[] nums=new int[n];
for(int i=0;i<n;i++){
nums[i]= in.nextInt();
}
int order=in.nextInt();
//System.out.println(Arrays.toString(nums));
// 进行排序
if(order==1){
quickSort(nums,0,n-1,true);
}else{
quickSort(nums,0,n-1,false);
}
for(int i=0;i<n;i++){
System.out.print(nums[i]);
if(i!=n-1)
System.out.print(" ");
}
}
public static void quickSort(int[] nums,int low,int high,boolean order){
if(low>=high){
return;
}
int i=low,j=high;
int baseNum=nums[low];
while(i<j){
if(order){
while(i<j&&baseNum>=nums[j]){
j--;
}
while(i<j&&baseNum<=nums[i]){
i++;
}
}else{
while(i<j&&baseNum<=nums[j]){
j--;
}
while(i<j&&baseNum>=nums[i]){
i++;
}
}
if(i<j){
int temp=nums[i];
nums[i]=nums[j];
nums[j]=temp;
}
}
nums[low]=nums[j];
nums[j]=baseNum;
quickSort(nums,low,j-1,order);
quickSort(nums,j+1,high,order);
}
}
将数加载到数组中,使用快速排序
