python实现常用排序算法
2017-11-23 11:11
501 查看
排序算法依次为:冒泡排序、选择排序、插入排序、shell排序、快速排序def Bubble_Sort(array):lengths = len(array)num = 0for 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+1else:j = j+1num = 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-1while j>=0:if array[j]>temp:array[j+1] = array[j]array[j] = tempj -= 1return 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 Sortfor j in range(1,len(id)):temp = array[id[j]]k = j-1while k>=0:if array[id[k]]>temp:array[id[k+1]] = array[id[k]]array[id[k]] = tempk -= 1id = []# print(array)interval = int(interval/n)return arraydef Quick_Sort(array, low, high):i = lowj = highif i >= j:return arraykey = array[i]while i < j:while i < j and array[j] >= key:j = j-1array[i] = array[j]while i < j and array[i] <= key:i = i+1array[j] = array[i]array[i] = keyQuick_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))
相关文章推荐
- 几种常用排序算法的python实现
- 常用排序算法的Python实现
- 算法基础——十种常用排序算法的Java及Python实现
- 常用排序算法的Python实现
- python实现常用排序算法
- Python实现: 常用排序算法 & 二叉树的遍历算法
- 几种常用的排序算法(一)--python实现
- 几种常用的排序算法(二)--python实现
- Python实现常用排序算法总结
- Python实现的几个常用排序算法实例
- Python实现的几个常用排序算法实例
- 常用排序算法的Python实现
- C++实现常用的排序算法
- [置顶] Java常用的八种排序算法与代码实现
- (Python实现)数据PCA降维白化和L2归一化-深度学习实践常用数据预处理
- Java实现的几个常用排序算法详细解读
- 三种排序算法的python实现+装饰器统计每种算法耗时
- python实现的八大排序算法part1
- 排序算法集合(1)-Python实现的堆排序
- 各种排序算法的Python实现