Algorithme - Suppression d'un élément dans une liste contiguë(tableau)
Wir haben zwei Löschfälle:
Am Anfang und in der Mitte löschen:
In diesem Fall müssen wir nach der Position des zu löschenden Elements suchen. Die Operation wird in zwei Schritten ausgeführt:
- Crush" Das Element hat den k-Index, indem alle anderen Elemente verschoben werden, die einen Index haben superior.
- Verringern Sie die Größe des Arrays mit 1.
Am Ende löschen:
Dies ist ein sehr einfacher Fall, verringern Sie einfach die Größe des Arrays mit 1.
Der Algorithmus, der die beiden Fälle kombiniert:
Algorithmus löschen; Var i,k : ganzzahlig; T[1..n]: ganzzahlig; Start für i von k bis n-1 faire T[i] := T[i+1]; finfaire n := n-1; End |
Prozedur:
Prozedur delete(L:list,k:1..lmax) var i,n:1..lmax; Start n := L.Länge; für i von k bis n-1 faire L.T[i] := L.T[i+1]; finfaire L.Länge:= n-1; Fin |
Siehe auch:
Algorithmus | Einfügen und Löschen eines Elements in einer verknüpften Liste.
Algorithmus | Zusammenhängende und verkettete Listen.
Algorithmus | Einfügen eines Elements in eine zusammenhängende Liste (array).
C/C++ | Löschen eines Werts aus einem Array.