这里是一段Python代码:
while i > 1:
i = i - 1
j = randrange(i) # 0 <= j <= i-1
items[j], items[i] = items[i], items[j]
return
我想在我的Pascal项目中使用这个算法。前3行对我来说绝对清楚,但是这个程序在第四行代码中做了什么?它是否将j
上保留的随机值分配给数组中的i
插槽,然后向左移动(保持右侧的“已使用”值)?
答案 0 :(得分:1)
Python有一个交换变量的简洁语法:
a,b = b,a
现在a
的值为b
,反之亦然。你的程序的第四行就是这样做的。