快速排序题目的解法(初学者,就硬做)

import java.io.BufferedInputStream;
import java.util.Scanner;

public class Main {
public static void main(String[] args) {
Scanner sc=new Scanner(System.in);
while (sc.hasNext()){
String str=sc.nextLine();
String[] ret=str.split(",");
int[] arr=new int[ret.length];

for(int i = 0;i < ret.length;i++){
arr[i] = Integer.parseInt(ret[i]);
}
//
quickSort(arr,0, ret.length-1);

//
System.out.print("["+arr[0]);
for (int i = 1; i < arr.length; i++) {
System.out.print(", "+arr[i]);
}
System.out.print("]");
}
}

//分而治之的思想
public static void quickSort(int[]arr,int left,int right){
if(left>=right) return;
int x= arr[(right+left)/2],i=left-1,j=right+1;
while (ido {
i++;
}while (arr[i]do {
j--;
}while (arr[j]>x);
if(iint t = arr[i];
arr[i] = arr[j];
arr[j] = t;
}
}
quickSort(arr,left,j);
quickSort(arr,j+1,right);
}
}
全部评论
y总弟子?
点赞
送花
回复
分享
发布于 2023-07-04 17:19 安徽

相关推荐

点赞 收藏 评论
分享
牛客网
牛客企业服务