gpt4 book ai didi

java - QuickSort:这个实现有什么问题

转载 作者:行者123 更新时间:2023-12-01 07:34:49 26 4
gpt4 key购买 nike

你能解释一下这个用java实现的快速排序算法有什么问题吗?

static ArrayList<Integer> quickSort(ArrayList<Integer> array){

if (array.size() <=1){
ArrayList<Integer> a = new ArrayList<Integer>();

return a;
}

int pivotIndex = array.size() / 2;

int pivot = array.get(pivotIndex);
ArrayList<Integer> left= new ArrayList<Integer>();
ArrayList<Integer> right = new ArrayList<Integer>();

for (int i = 0; i < array.size(); i++) {
if (i!=pivotIndex){
if (array.get(i) > pivot)
right.add(array.get(i));
else
left.add(array.get(i));
}

}
ArrayList<Integer> l = new ArrayList<Integer>();
l.addAll(quickSort(left));
l.add(pivot);
l.addAll(quickSort(right));

return l;

}

最佳答案

一个明显的错误是大小为 1 的数组未正确处理。正确处理这一点很重要,因为这是递归的基本情况之一。

关于java - QuickSort:这个实现有什么问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13432899/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com