Ich versuche, eine einfache Zusammenführungssortierung mit einem Hilfsarray zu implementieren. Ich habe type byString []string
, die die Methoden Less, Swap, and Len
implementiert. Es folgt im Grunde Go's sort
Paket-Schnittstelle.Go - Wie kopiere ich eine Schnittstelle?
Allerdings habe ich Schwierigkeiten bei der Auswahl der besten Route zum Kopieren der byString
Scheibe in ein temporäres Array.
Bitte helfen Sie mir aus der Polymorphismus-Welt von Java auszubrechen, damit es mit Go funktioniert.
func merge(data Interface, lo, mid, hi int) {
i, j := lo, mid+1
// How do I copy data's elements to a new slice called aux?
}
'sort.Interface' für' sort.Sort' ausgelegt ist. Es ist nicht gut für eine nicht-in-Place-Sortierung wie Merge-Sort. –
Vielleicht möchten Sie die Frage beantworten, warum Sie die Zusammenführungs-Sortierung überhaupt durchführen, wenn das 'sort'-Paket eine perfekte Sortier- und Binärsuchfunktion bietet. –
Er könnte eine getippte Version davon implementieren. – OneOfOne