小编Dec*_*mus的帖子

BubbleSort StackOverflowError

我将这个递归的BubbleSort算法添加到我在lwjgl上运行的游戏中.我正在尝试通过浮点数对"云"对象的ArrayList进行排序,这是这个云的速度.

出于某种原因,有时我会在我调用该方法的行中得到一个"java.lang.StackOverflowError".

这是代码:

public void sort() {
    for (int i = 0; i < clouds.size() - 1; i++) {
        Cloud cl1 = clouds.get(i);
        Cloud cl2 = clouds.get(i + 1);
        if (cl1.getSpeed() < cl2.getSpeed()) {
            continue;
        }
        clouds.set(i, cl2);
        clouds.set(i+1, cl1);
        this.sort();
    }
}
Run Code Online (Sandbox Code Playgroud)

以下是我得到的错误:

Sat May 04 20:28:45 CEST 2013 ERROR:null
java.lang.StackOverflowError
         at backgrounds.Clouds.sort(Clouds.java:224)
[...] // The line above is repeated for some hundred times.
Run Code Online (Sandbox Code Playgroud)

java stack-overflow sorting arraylist

5
推荐指数
2
解决办法
294
查看次数

标签 统计

arraylist ×1

java ×1

sorting ×1

stack-overflow ×1