三种排序算法python源码——冒泡排序、插入排序、选择排序
来源:互联网 发布:java多线程抢票 编辑:程序博客网 时间:2024/06/05 05:35
最近在学习python,用python实现几个简单的排序算法,一方面巩固一下数据结构的知识,另一方面加深一下python的简单语法。
冒泡排序算法的思路是对任意两个相邻的数据进行比较,每次将最小和最大的数据都放在数组头和尾的位置,每次比较完成后除去头、尾的数据,进行比较。python源码如下:
def bubble_sort( ): str_array = raw_input("Input your numbers:") array = list(str_array) l = len(array) i = 0 for i in range(l-1): for j in range(i, l-i-1): if array[j+1] < array[j]: temp = array[j] array[j] = array[j+1] array[j+1] = temp for i in array: print iif __name__ == "__main__": bubble_sort( )
插入排序算法的思路是每次将所选位置的数据插入到数组中该位置之前已排好序的数据之间,保证按顺序插入。python源码如下:
def insert_sort(): array = [3,1,4,2,5,7,6] length = len(array) for i in range(1,length): key = array[i] j = i-1 while array[j] > key and j >= 0: array[j+1] = array[j] j = j-1 array[j+1] =key for i in array: print iif __name__ == "__main__": insert_sort()
选择排序算法的思路是每次挑出最小(或最大)的数据放在数组头部,实现排序。pytho源码如下:
def select_sort(): array = [2,1,4,3,7,6,5,8] length = len(array) for i in range(length): flag = i for j in range(i+1,length): if array[flag] > array[j]: flag = j if flag != i: temp = array[i] array[i] = array[flag] array[flag] = temp for i in array: print iif __name__ == "__main__": select_sort()
完。
- 三种排序算法python源码——冒泡排序、插入排序、选择排序
- 排序算法1—插入排序、选择排序、冒泡排序
- 【算法】插入排序/冒泡排序/选择排序
- 《算法》选择排序、插入排序、冒泡排序
- 面试最基本的三种排序算法 冒泡排序 插入排序 选择排序
- 三种基本排序算法-冒泡排序,选择排序,插入排序
- 常见排序算法——选择排序、冒泡排序、插入排序和原地排序
- 三大简单排序算法——插入、选择、冒泡
- c语言中的几种排序算法——冒泡排序、快速排序、插入排序、选择排序
- 几种排序算法(冒泡排序算法,选择排序算法,快速排序算法,插入排序)
- 三大排序:选择排序,冒泡排序,插入排序
- python 实现插入排序,冒泡排序,快速排序,选择排序
- 黑马程序员——java基础排序算法:选择排序、冒泡排序和插入排序
- 基础排序算法(冒泡排序、选择排序、插入排序)
- 排序算法一(冒泡排序、选择排序、插入排序)
- 排序算法(冒泡排序、选择排序、插入排序)
- 简单排序算法:冒泡排序,选择排序,插入排序
- 基本排序算法(冒泡排序,选择排序,插入排序)
- hdu1874
- 函数式编程初探
- C++ 单链表实现
- hdu 3415 Max Sum of Max-K-sub-sequence
- android 程序检测是否安装其他一个程序
- 三种排序算法python源码——冒泡排序、插入排序、选择排序
- makefile编写粗略(部分)解读
- 喜欢的句子
- 处女作
- 黑马程序员----网络编程
- 我的Android进阶之旅------>RGB颜色查询对照表
- C# Winform编程ListBox之添加图标
- oracle数据类型
- 3.3FactoryMethod——工厂方法