python和冒泡排序

冒泡排序描述:

       冒泡排序是指重复地走访过要排序的数列,一次比较相邻的元素,如果它们顺序不对(一般指升序)就把它们交换过来,直到没有可交换的元素,则排序完成(最终从小到大进行排序)。

原理分析:

        根据原理可知,分为两层,第一层遍历一趟只选出一个数,假设有n个数,则需要进行n-1趟;

        第二层,确定后的数字不用再进行比较,因此每趟只需要比较n-i-i次(i为已执行的次数)

python实现如下:

       根据上面的分析,我们实现随机输入一组数,对其进行冒泡排序。完整代码如下:

#!/usr/bin/env python
# -*- coding: utf-8 -*-

x = raw_input()
list = x.split(',')
for i in range(0,len(list)):
    list[i] = int(list[i])

def bubble_sort(list):
    n = len(list)
    for i in range(0, n-1):
        for j in range(0, n-1-i):
            if list[j] > list[j + 1]:
                list[j], list[j + 1] = list[j + 1], list[j]
    return list
if __name__ ==  '__main__':
    print bubble_sort(list)

猜你喜欢

转载自blog.csdn.net/leexing17/article/details/81783594