Chapter 28: Merge Sort
前言
大綱
Split
public func mergeSort<Element>(_ array: [Element]) -> [Element] where Element: Comparable {
// 達到base case不在遞迴下去
guard array.count > 2 else {
return array
}
// 先進行split動作
let middle = array.count / 2
let left = mergeSort(Array(array[0..<middle]))
let right = mergeSort(Array(array[middle...]))
}Merge
Finishing up
Performance
Last updated