Python与Go快速排序
2024-09-04 07:26:46
#!/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)
}
最新文章
- iOS 阶段学习第七天笔记(函数、递归)
- replace、replaceAll、replaceFirst的区别详解
- whereis命令
- StaggeredGridLayoutManager
- [改善Java代码]严格限定泛型类型采用多重界限
- phantomjs 自动化测试
- python实现tailf
- Asp.Net HttpApplication 事件汇总
- [HDU 1317]XYZZY[SPFA变形][最长路]
- 关于”机器学习方法“,&;quot;深度学习方法&;quot;系列
- Java静态语句块、语句块、构造方法执行顺序
- js防抖和节流
- java做图片点击文字验证码
- Mysql基础教程-Mysql的字符集查看与修改
- java socket编程(一)简介
- Docker:Docker打包Web API成镜像并上传到Docker Hub(2)
- 20190227xlVBA辅助输入
- Grafana安装配置介绍
- 2019.01.24 NOIP训练 旅行(轮廓线dp)
- Zabbix之Python发送邮件
热门文章
- PHP网站自动化配置的实现
- 解析xml(当节点中有多个子节点)
- 公式中表达单个双引号【";】和空值【";";】的方法及说明
- 走在linux 的路上
- Windows10解决无法访问其他机器共享的问题
- 基于Linux C的socket抓包程序和Package分析 (一)
- C# 能否获取一个对象所占内存的大小?
- anrdroid AVD启动不起来的问题。Waiting for HOME (&#39;android.process.acore&#39;) to be launched
- MAC OX 配置 Tomcat 说明
- java web Servlet开发(一)