如果nums size不等于capacity,i的值是多少?

问题描述 投票:0回答:1

我正在研究最大堆,其中有一个createheap函数。其中,有一个像这样的for循环

    for (i = 0; i < capacity; i++) {
        h->arr[i] = nums[i];
    }

如果 nums 的大小不等于容量,那么变量 i 给出 nums 的大小还是等于容量? (for 循环运行直到 i 等于容量,对吧?)

c data-structures iteration max-heap
1个回答
0
投票

...for 循环一直运行直到 i 等于容量,对吧?

没有。

capacity
超过“nums的大小”时,一旦
i
等于“nums的大小”,进一步的迭代会导致未定义的行为(UB)。任何事情都可能发生。

© www.soinside.com 2019 - 2024. All rights reserved.