python实现常用排序算法
来源:互联网 发布:美股交易软件 编辑:程序博客网 时间:2024/06/06 16:38
排序算法依次为:冒泡排序、选择排序、插入排序、shell排序、快速排序
def Bubble_Sort(array): lengths = len(array) num = 0 for i in range(lengths-num-1): j = 0; while j < lengths-num-1: if (array[j]>array[j+1]): array[j],array[j+1] = array[j+1],array[j] j = j+1 else: j = j+1 num = num +1; return (array)def Selection_Sort(array): lengths = len(array) for i in range(lengths-1): min_array = array.index(min(array[i:lengths])) array[i],array[min_array] = array[min_array],array[i] return (array)def Insertion_Sort(array): lengths = len(array) for i in range(1,lengths): temp = array[i] j = i-1 while j>=0: if array[j]>temp: array[j+1] = array[j] array[j] = temp j -= 1 return arraydef Shell_Sort(array,n): lengths = len(array) interval = int(lengths/n) id = [] while interval>0: for i in range(interval): while (i<lengths): id.append(i) i = i+interval # print(a) Insertion Sort for j in range(1,len(id)): temp = array[id[j]] k = j-1 while k>=0: if array[id[k]]>temp: array[id[k+1]] = array[id[k]] array[id[k]] = temp k -= 1 id = [] # print(array) interval = int(interval/n) return arraydef Quick_Sort(array, low, high): i = low j = high if i >= j: return array key = array[i] while i < j: while i < j and array[j] >= key: j = j-1 array[i] = array[j] while i < j and array[i] <= key: i = i+1 array[j] = array[i] array[i] = key Quick_Sort(array, low, i-1) Quick_Sort(array, j+1, high) return arrayif __name__ == '__main__': arrays = [-1,-3,-12,0,1,4,5,23,6,26,33,21,34,12,333,89,211,15,13,112,10] # arrays = [3,2,1,4,7,6,8,9,5] # print(Bubble_Sort(arrays)) # print(Selection_Sort(arrays)) # print(Insertion_Sort(arrays)) # print(Shell_Sort(arrays,2)) print(Quick_Sort(arrays,0,len(arrays)-1))
阅读全文
0 0
- python实现常用排序算法
- python实现常用排序算法
- 常用排序算法的Python实现
- Python实现常用排序算法总结
- 常用排序算法C++ && Python实现
- 常用排序算法的Python实现
- 常用排序算法的Python实现
- python常用排序算法
- Python实现: 常用排序算法 & 二叉树的遍历算法
- 常用排序算法实现
- 常用排序算法实现
- 常用排序算法的python实现和性能分析
- 8个常用排序算法 之 python实现
- 几种常用的排序算法(一)--python实现
- 几种常用的排序算法(二)--python实现
- 常用排序和查找算法的原理及python实现
- 排序算法python实现
- 排序算法Python实现
- Android一个Activity套四个Fragment代码
- estore简版商城
- 第十二周项目3Dijkstra算法的验证
- JNI访问Java数组方法
- MySql安装问题This application requires Visual Studio 2013 Redistributable. Please install
- python实现常用排序算法
- CC3220LaunchPad学习(一)
- 第九周 纸上谈兵:“知原理”检验题目
- ssh
- (原创)clang的python接口教程(二)
- SpringBoot非官方教程 | 第七篇:springboot开启声明式事务
- UIViewController的理解
- 在DPDK环境下搭建OpenvSwitch用户态运行环境
- tomcat挂掉自动启动tomcat