gpt4 book ai didi

c - 将数组中的元素与前一个元素进行比较并且不会越界的问题

转载 作者:行者123 更新时间:2023-12-02 08:38:02 25 4
gpt4 key购买 nike

当遍历一个数组时,你如何比较当前元素和前一个元素?除了第一个元素没有前一个元素之外,这很容易。是最好的解决方案

for(i = 0; i < arrLen; i++)
{
arr[i] = process(i, someArg);
if(i > 0)
someFunc(arr[i], arr[i-1]);
}

这又是一个比较,需要对数组的每个元素执行,这看起来很浪费。

抱歉,我忘了说数组正在同时填充。因此,从 1 开始循环意味着第一个元素为空。

最佳答案

从 1 开始循环:

for (int i = 1; i < arrLen; i++)
someFunc(arr[i], arr[i-1]);

编辑:考虑到你的新循环,我认为你的代码没问题。您的优化器可能会很好地处理它。如果您真的很担心,只需在循环外进行第一个赋值即可:

arr[0] = process(0, someArg);
for(i = 1; i < arrLen; i++)
{
arr[i] = process(i, someArg);
someFunc(arr[i], arr[i-1]);
}

关于c - 将数组中的元素与前一个元素进行比较并且不会越界的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19302863/

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