gpt4 book ai didi

arrays - 为什么人们不在 for 循环中使用 (int i = length(); i > -1; i--) 而不是创建一个新的长度整数?

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

在我学习编程时阅读的所有教程和书籍中,遍历数组的做法始终是使用 for 循环:

int len = array.length();
for(int i = 0; i < len; i++) {//loop code here}

有没有人不使用的原因

for(int i = length(); i > -1; i--) {//loop code here}

据我所知,代码更短、更易于阅读并且不会创建不必要的变量。我可以看到在某些情况下可能需要从 0 到末尾遍历数组,但在大多数情况下方向不会产生影响。

最佳答案

direction doesn't make a difference in most cases

的确,在很多情况下,如果没有任何异常(exception)情况,您最终会得到相同的结果。

但就思考代码的作用而言,从头到尾思考它通常要简单很多。这就是我们在余生中一直所做的事情。

哦,你的代码中有一个错误 - 你几乎肯定不希望 length() 作为初始值 - 你可能想要 array.length() - 1 否则它开始是数组中的无效索引(并且仅在将 length() 固定为 array.length() 之后)。您遇到这个错误的事实证明了我的观点:您的代码比您不喜欢的代码更难快速推理。

让代码更易于阅读和理解是很多在几乎所有情况下都比额外变量的微小的、几乎总是无关紧要的代码重要得多。 (您没有指定语言,但在很多情况下,在我自己的代码中,我只是在每次迭代时调用 array.length(),然后让优化解决它。)

关于arrays - 为什么人们不在 for 循环中使用 (int i = length(); i > -1; i--) 而不是创建一个新的长度整数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12922947/

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