【发布时间】:2021-08-26 18:09:44
【问题描述】:
我正在努力理解为什么以下 TI-BASIC 中的插入排序程序有时可以工作,但有时会出现尺寸错误。
0→dim(L₁ // clear the list L1
randIntNoRep(1,5,5)→L₁
For(I,2,5)
L₁(I)→K
I-1→J
While J>0 and L₁(J)>K
L₁(J)→L₁(J+1)
J-1→J
End // end while
K→L₁(J+1)
End // end for
Disp L₁
据我所知,该代码是基于此伪代码的插入排序的忠实实现:
for i ← 2 to n
key ← A[i]
j ← i − 1
while j > 0 and A[j] > key do
A[j + 1] ← A[j]
j ← j − 1
A[j + 1] ← key
我尝试过手动单步执行代码,看起来 BASIC 版本的功能与伪代码相同。请问我错过了什么?
【问题讨论】:
标签: algorithm insertion-sort basic ti-basic