gpt4 book ai didi

c - 试图理解排列生成

转载 作者:塔克拉玛干 更新时间:2023-11-03 06:09:22 24 4
gpt4 key购买 nike

我试图理解给定 here 的排列算法我不清楚的是他们提到的第一段伪代码

array = [1, 2, 3, 4]
function permutation(start, end):
#i will go from start to end
for i -> (start, end+1):
permutation(start+1,end)

为什么在 for i 循环中使用了 end+1,据我所知,end+1 应该超出必须应用排列的数组索引,这对我来说还不清楚,但这里不是这种情况是我不清楚的。

最佳答案

作者熟悉 Python,并在伪代码中使用了相同的(不幸的)习语。在 Python 中,范围的开始是包含,而结束是不包含。在该页面的后面,Python 代码摘录证明情况确实如此:

for i in range(start, end+1):

使用此代码 i将依次分配来自 start 的所有整数至 end包括在内,但不包括 end + 1 .

在 C 语言中经常使用 <在循环中 - 那么它也会在那里发生:

for (size_t i = start; start < end + 1; start++)
^^^^^^^

虽然写起来更自然

for (size_t i = start; start <= end; start++)

关于c - 试图理解排列生成,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52164939/

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