2013-02-19 89 views
2

我目前正在查看快速排序算法的僞代碼。在某些行上它寫着類似於:什麼意思:=僞代碼中的意思?

i := left 

:=代表什麼?是+=還是正常的=

FYI:這是完整的僞代碼(德國):

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 

回答

9

什麼是:=代表什麼?

這是一個賦值運算符,派生自Pascal編程語言。

+=還是正常的=

:=相當於=,不與複合賦值操作者(例如+=)相混淆。

請參閱Variants in assignments and expressions at freepascal.org以供快速參考。

2

它類似於

i = "left"; 
在Java等語法

「:=」是基於帕斯卡,如Delphi例如編程語言中使用。所以這基本上是一個簡單的任務。

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 
0

這就是Ada中爲好,

:=等於=

和=等於==