Tôi đang học Go và cố gắng triển khai quicksort, tuy nhiên nó không trả về danh sách đầy đủ. Theo hiểu biết của tôi về Go nó phù hợp với một chức năng Ruby thực hiện tôi đã viết.Quicksort in Go
Mã của tôi là:
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
}
}
Tôi rất bối rối như những gì trong này không hoạt động.
Không chắc tại sao điều này đã giảm bình chọn, đó là một câu hỏi hợp pháp. – OneOfOne
so với [tex.se], nơi tôi từng rất năng động, có xu hướng ở đây để trả lời câu hỏi nhanh chóng: ( – topskip
Tôi nhớ SO trước khi các mod biến nó thành chính phủ phát xít, nhắc tôi về công nghệ '/ r/' – OneOfOne