#!/usr/bin/env python
# -*- coding: utf-8 -*-
# 快速排序
# 时间复杂度 O(n lgn)-- O(n^2) def quick_sort(array):
if len(array) <= 1:
return array left = quick_sort([i for i in array[1:] if i >= array[0]])
right = quick_sort([i for i in array[1:] if i < array[0]])
return left + array[0:1] + right if __name__ == '__main__':
aa = [4, 1, 4, 3, 5, 6, 2, 6, 0, 0]
a = quick_sort(aa)
print(a)
package main

import "fmt"

func quickSort(array []int) []int {
if len(array) <= 1 {
return array
}else {
left := make([]int, 0)
right := make([]int, 0)
for _, v := range array[1:] {
if v < array[0] {
left = append(left, v)
} else {
right = append(right, v)
}
}
left = quickSort(left)
right = quickSort(right)
left = append(left, array[0: 1]...)
left = append(left, right...)
return left
}
} func main() {
aa := []int{4, 1, 4, 3, 5, 6, 2, 6, 0, 8}
a := quickSort(aa)
fmt.Println(a)
}

最新文章

  1. iOS 阶段学习第七天笔记(函数、递归)
  2. replace、replaceAll、replaceFirst的区别详解
  3. whereis命令
  4. StaggeredGridLayoutManager
  5. [改善Java代码]严格限定泛型类型采用多重界限
  6. phantomjs 自动化测试
  7. python实现tailf
  8. Asp.Net HttpApplication 事件汇总
  9. [HDU 1317]XYZZY[SPFA变形][最长路]
  10. 关于”机器学习方法“,&amp;quot;深度学习方法&amp;quot;系列
  11. Java静态语句块、语句块、构造方法执行顺序
  12. js防抖和节流
  13. java做图片点击文字验证码
  14. Mysql基础教程-Mysql的字符集查看与修改
  15. java socket编程(一)简介
  16. Docker:Docker打包Web API成镜像并上传到Docker Hub(2)
  17. 20190227xlVBA辅助输入
  18. Grafana安装配置介绍
  19. 2019.01.24 NOIP训练 旅行(轮廓线dp)
  20. Zabbix之Python发送邮件

热门文章

  1. PHP网站自动化配置的实现
  2. 解析xml(当节点中有多个子节点)
  3. 公式中表达单个双引号【&quot;】和空值【&quot;&quot;】的方法及说明
  4. 走在linux 的路上
  5. Windows10解决无法访问其他机器共享的问题
  6. 基于Linux C的socket抓包程序和Package分析 (一)
  7. C# 能否获取一个对象所占内存的大小?
  8. anrdroid AVD启动不起来的问题。Waiting for HOME (&#39;android.process.acore&#39;) to be launched
  9. MAC OX 配置 Tomcat 说明
  10. java web Servlet开发(一)