美文网首页
快排的swift实现

快排的swift实现

作者: Orz__ | 来源:发表于2020-08-24 11:27 被阅读0次

    目前看到的最容易理解的快排实现方法(swift版本)

    func quicksort<T: Comparable>(_ a: [T]) -> [T] {
      guard a.count > 1 else { return a }
    
      let pivot = a[a.count/2]
      let less = a.filter { $0 < pivot }
      let equal = a.filter { $0 == pivot }
      let greater = a.filter { $0 > pivot }
    
      return quicksort(less) + equal + quicksort(greater)
    }
    

    快排的时间复杂度是O(nlogn),空间复杂度是O(logn)

    相关文章

      网友评论

          本文标题:快排的swift实现

          本文链接:https://www.haomeiwen.com/subject/kctnjktx.html