三种排序算法python源码——冒泡排序、插入排序、选择排序

最近在学习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 i
if __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 i
if __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 i
if __name__ == "__main__":
    select_sort()

完。


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值