Upload
others
View
2
Download
0
Embed Size (px)
Citation preview
Haskell vs Pythonqsort [] = [] qsort (p:xs) = qsort lt ++ [p] ++ qsort gteq where lt = [x | x <- xs, x < p] gteq = [x | x <- xs, x >= p]
def quick_sort(arr): left = [] right = [] if len(arr) <= 1: return arr ref = arr[0] ref_count = 0 for ele in arr: if ele < ref: left.append(ele) elif ele > ref: right.append(ele) else: ref_count += 1 left = quick_sort(left) right = quick_sort(right) return left + [ref] * ref_count + right
例)クイックソート