Dreieckstausch
aus Wikipedia, der freien Enzyklopädie
Als Dreieckstausch bezeichnet man in der Programmierung ein Verfahren zum Austausch der Werte zweier Variablen. Dabei wird eine Hilfsvariable verwendet, um den Wert der Variablen, die zuerst überschrieben wird, zwischenzuspeichern. Das allgemeine Prinzip sieht wie folgt aus:
temp := v1 v1 := v2 v2 := temp
Wenn es sich bei den Werten der beiden auszutauschenden Variablen um binär verknüpfbare Werte handelt, kann man den Tausch durch wiederholte XOR-Verknüpfungen (unter Ausnutzung des Gesetzes (A xor B) xor B = A) auch gänzlich ohne Hilfsvariable verwirklichen:
v1 := v1 xor v2 v2 := v1 xor v2 v1 := v1 xor v2
Dann handelt es sich streng genommen nicht mehr um einen Dreieckstausch.