快排栈溢出
查看原帖
快排栈溢出
1096827
AC_or_suicide楼主2023/9/22 12:44

大佬们,快排栈溢出咋办

package LUOgu;

import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int size = sc.nextInt();
        int arr[] = new int[size];
        for(int i = 0;i <= arr.length - 1;i++) {
        	arr[i] = sc.nextInt();
        } 
        method(arr, 0, arr.length - 1);
        for(int i = 0;i <= arr.length - 1;i++) {
        	if(i == arr.length - 1) {
        		System.out.print(arr[i]);
        	}else {
        		System.out.print(arr[i] + " ");
        	}
        }
        sc.close();
    }
    
    public static void method(int arr[],int left,int right) {
    	if(left >= right) {
    		return;
    	}
    	int number = arr[left];
    	int i = left;
    	int j = right;
    	while(i < j) {
    		while(i < j && arr[j] > number) {
    			j--;
    		}
    		while(i < j && arr[i] <= number) {
    			i++;
    		}
    		int count = arr[i];
    	    arr[i] = arr[j];
    	    arr[j] = count;
    	}
    	arr[left] = arr[i];
    	arr[i] = number;
    	method(arr, i + 1, right);
    	method(arr, left, i - 1);
    }
}

2023/9/22 12:44
加载中...