Sto imparando Go e ho provato a implementare un quicksort, tuttavia non restituisce un elenco completo. Per la mia comprensione di Go corrisponde a un'implementazione di Ruby funzionante che ho scritto.Quicksort in Go
Il mio codice è:
func quickSort(data []string) []string {
if len(data) > 1 {
pivot := data[0]
smaller := make([]string, 0, len(data))
equal := make([]string, 0, len(data))
larger := make([]string, 0, len(data))
for i := 1; i < len(data); i++ {
if data[i] > pivot {
larger = append(larger, data[i])
} else if data[i] < pivot {
smaller = append(smaller, data[i])
} else {
equal = append(equal, data[i])
}
}
return append(append(quickSort(smaller), equal...), quickSort(larger)...)
} else {
return data
}
}
Sono molto perplesso su ciò che in questo non funziona.
Non capisco perché questo era giù votato, è una domanda legittima. – OneOfOne
rispetto a [tex.se], dove ero molto attivo, c'è una tendenza qui a sviare rapidamente le domande :( – topskip
Mi manca così prima che le mod diventassero un governo fascista, mi ricorda '/ r/technology ' – OneOfOne