2

我目前正在研究快速排序算法的伪代码。在某些行上,它说的是:

i := left

代表什么:=?是+=正常的还是正常的=

仅供参考:这是完整的伪代码(德语):

 funktion teile(links, rechts)
 i := links 
 // Starte mit j links vom Pivotelement
 j := rechts - 1
 pivot := daten[rechts]

 wiederhole

     // Suche von links ein Element, welches größer als das Pivotelement ist
     wiederhole solange daten[i] ≤ pivot und i < rechts
         i := i + 1
     ende

     // Suche von rechts ein Element, welches kleiner als das Pivotelement ist
     wiederhole solange daten[j] ≥ pivot und j > links
          j := j - 1 
     ende

     falls i < j dann
         tausche daten[i] mit daten[j]
     ende

 solange i < j // solange i an j nicht vorbeigelaufen ist 

 // Tausche Pivotelement (daten[rechts]) mit neuer endgültiger Position (daten[i])

 falls daten[i] > pivot dann
         tausche daten[i] mit daten[rechts]
 ende

 // gib die Position des Pivotelements zurück

 antworte i

ende
4

5 回答 5

9

代表什么:=

它是一个赋值运算符,源自 Pascal 编程语言。

+=正常的还是正常的=

:=等价于=,不要与复合赋值运算符(例如+=)混淆。

请参阅freepascal.org 上的赋值和表达式的变体以获得快速参考。

于 2013-02-19T08:58:23.947 回答
3

您应该将 := 阅读为“变得等于”。

你通常会有这样的组合:

a := b  #a becomes equal to b
a = b   #if a equals b

或者这个组合:

a = b   #a becomes equal to b
a == b  #if a equals b
于 2013-02-19T09:14:23.777 回答
2

它类似于

i = "left";

在Java等中。语法“:=”用于基于Pascal的编程语言,例如Delphi。所以这基本上是一个简单的任务。

于 2013-02-19T09:00:11.207 回答
2

如果它是帕斯卡风格的伪代码,则该符号主要用于分配值参考:http ://en.wikipedia.org/wiki/Pseudocode

于 2013-02-19T09:00:38.690 回答
0

这也在 Ada 中,

:= 等于 =

和 = 等于 ==

于 2014-02-07T05:59:46.183 回答