博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
三种排序算法python源码——冒泡排序、插入排序、选择排序
阅读量:6558 次
发布时间:2019-06-24

本文共 1383 字,大约阅读时间需要 4 分钟。

最近在学习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()

完。

 

 

 

 

转载地址:http://hzhco.baihongyu.com/

你可能感兴趣的文章
Spring boot 内存优化
查看>>
ViewFlipper(多图层控件)及手势识别,代码创建动画效果
查看>>
[编程题] 钓鱼比赛
查看>>
BLOB类型对应Long binary,CLOB对应Long characters
查看>>
sqlplus与shell互相传值的几种情况
查看>>
面向对象中特殊方法的补充、isinstance/issubclass/type、方法和函数、反射
查看>>
Cookie&Session
查看>>
Deferred Shading延迟渲染
查看>>
eas之设定table选择模式
查看>>
Android中显示进度的控件
查看>>
Lubuntu下安装Python3.6
查看>>
〖Linux〗zigbee实验之cc2430移植tinyos2.x的步骤(Ubuntu13.10)
查看>>
PHP(五)session和文件上传初步
查看>>
【JS库】URI.js
查看>>
XML 解析之 dom4j 解析器
查看>>
BZOJ4314 倍数?倍数!
查看>>
js获取json对象中的key和value,并组成新数组
查看>>
作诗2(玄学)
查看>>
UOJ #449. 【集训队作业2018】喂鸽子
查看>>
biztalk 2010 映射
查看>>