Soll das Ergebnis des Sortiervorgangs abgespeichert werden, oder handelt es sich dabei "nur" eine anders geordnete Darstellung, eine vorübergehend "Ansicht", einer sonst (beliebig) persistent gespeicherten Liste?
Im Falle der "Ansicht" benötigst Du vermutlich gar kein "Undo". (Ansichten sind nicht persistent)
Im Falle der gewünschten "Persistenz" wird es - vor allem für lange Listen - hässlicher. Aber Speicher kostet nix, nur die Zugriffszeiten.