gpt4 book ai didi

java - 堆算法。非常基本,关于数组位置 0 和 1。

转载 作者:塔克拉玛干 更新时间:2023-11-03 04:02:46 25 4
gpt4 key购买 nike

堆 - 排序算法我遇到的问题是,这个算法 n 输入是 2,这样设计是为了比较数组的第一个位置 (int i) 和第二个位置 (int j) 的值。

问题是这会忽略给定数组列表的 0 位置。我试过减少某些值,这会产生无限循环。该算法是伪代码的改编。它不是为从 0 开始运行 arraylist 而设计的。我想不出如何将此算法重新调整为合适的最小堆排序。

public static void input( ArrayList<input> vertexList, int n )
{
int j=n;
int i=n/2;
input object = vertexList.get(n);

while ((i>0) && vertexList.get(i)> object){

vertexList.set(j, vertexList.get(i));

j = i;
i = i/2;
}

vertexList.set(j, object);

}

最佳答案

尝试使用 vertexList.get(i-1)vertexList.get(j-1)vertexList.set(j-1, . ..)

关于java - 堆算法。非常基本,关于数组位置 0 和 1。,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8934527/

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