Grundlagen der Programmierung (Pseudocode nachverfolgen)
Die folgende Prozedur bubble ist ein Bubblesort, der das ganzzahlige Array data aufsteigend sortiert. swap(data, j, k) ist eine Prozedur, die die Werte von data[j] und data[k] vertauscht. Die Array-Indizes beginnen bei 1. Was gehört an die Stelle von 【a】 im Programm?
○bubble(integer array: data)
integer: n ← length(data)
for (i from n down to 2 step 1)
for (j from 1 to 【a】 step 1)
if (data[j] > data[j + 1])
swap(data, j, j + 1)
endif
endfor
endfor
- Ai
- Bn − i
- Ci − 1
Antwort und Erläuterung anzeigen
Antwort: C. i − 1
Das äußere i ist die Position, an die jeder Durchgang den größten verbleibenden Wert befördert (vom Ende her n, n − 1, …, 2). Die innere Schleife vergleicht data[j] mit data[j + 1]; mit dem Endwert i − 1 für j werden daher benachbarte Paare bis data[i] verglichen, ohne das Array zu verlassen. Der erste Durchgang mit i = n befördert den größten Wert nach data[n], der nächste reicht bis data[n − 1] usw.; der Bereich wird jedes Mal um eins kleiner. Mit i an der Stelle von 【a】 würde der erste Durchgang data[n + 1] lesen.
Weiter: 9 weitere Fragen zu Grundlagen der Programmierung (Pseudocode nachverfolgen)