< ---和< - >在伪代码中

时间:2012-05-25 16:36:14

标签: pseudocode

我不是来自cs背景,我试图理解用于什么的东西。在伪代码中,我看到了很多这样的内容:

for i <---  1 to n-1 do
j <--- find-Min(A,i,n)
A[j] <-> A[i]
end for 

<---<->过去是指什么?

3 个答案:

答案 0 :(得分:9)

<---表示“将右侧分配到左侧”(在for情况下看到这种情况有点奇怪,因为它可能很容易被忽略)

<->表示“交换”。 A [j]值与A [i]交换。

修改

我刚想到第一行可能缺少i,而应该改为:

for i <---  1 to n-1 do

这成为上述<---的合法用例:i按顺序分配从1n-1的值,以及循环体(低至{{1}对于这些end for值中的每一个,都会执行,表示循环结束。

答案 1 :(得分:3)

关于伪代码中使用的符号,没有任何接近普遍的协议。

在这种情况下,我猜测<---表示&#34;将右侧分配到左侧&#34;,<->表示交换右侧&#34}左侧。&#34;

然而,在第一种情况下,我认为你错过了一个角色。它可能应该是:

for i <--- 1 to n-1 do

所以它是一个正常的for循环,写成:

for i = 1 to n-1

在BASIC中,或者:

for (i=1; i<n; i++)

用类C语言。

答案 2 :(得分:1)

分配左箭头

用于表明变量接收新值,例如

for i <- 1 to n-1 do 

我已经看到了这个:

  • 主要是伪代码;
  • R,S,Scala和OCaml;
  • 在APL中使用自己的左箭头符号。

交换元素的左右箭头

也用于使操作以符号方式显而易见。

我现在想不出任何伪代码。