我正在读算法入门这本书,它的伪代码是
INSERTION-SORT(A)
1 for j ← 2 to length[A]
2 do key ← A[j]
3 ▹ Insert A[j] into the sorted sequence A[1 j - 1].
4 i ← j - 1
5 while i > 0 and A[i] > key
6 do A[i + 1] ← A[i]
7 i ← i - 1
8 A[i + 1] ← key而wiki上的伪代码是
for j ←1 to length(A)-1
key ← A[ j ]
> A[ j ] is added in the sorted sequence A[0, .. j-1]
i ← j - 1
while i >= 0 and A [ i ] > key
A[ i +1 ] ← A[ i ]
i ← i -1
A [i +1] ← key为什么一个从2开始循环到长度,而另一个从1开始循环到长度A -1?
发布于 2011-09-09 12:06:50
看起来第一个伪代码块使用了基于1的索引,而第二个使用了基于0的索引。
发布于 2011-11-15 01:01:21
这基本上是一样的,只是一个索引从0开始(从零开始),另一个从1开始(从1开始)。例如,在C#中,数组是从零开始的,而VB是从1开始的。
https://stackoverflow.com/questions/7357053
复制相似问题