Day2_冒泡排序bubble sort

冒泡排序bubble sort -->:
冒泡算法,取list中从第一个元素开始,与它后面的元素比较,如果比它大,就交换位置,一直重复到它能到达的位置,每次遍历都将
剩下的元素中最大的那个放在序列的最后,如如果完成排序,则可以退出了。

轮询次数为 list -1次,并且每轮询一次list的数量减去1

Python支持对2个数字同时进行交换: a,b=b,a 交换a,b的值

学习于:http://hujiaweibujidao.github.io/blog/2014/05/07/python-algorithms-sort/

# encoding:utf-8
#
""" @version:1.0
    @author Heng
    @time: 6/27/2016 11:00 AM

    @description
    冒泡排序bubble sort -->:
    冒泡算法,取list中从第一个元素开始,与它后面的元素比较,如果比它大,就交换位置,一直重复到它能到达的位置,每次遍历都将
    剩下的元素中最大的那个放在序列的最后,如如果完成排序,则可以退出了。

    轮询次数为 list -1次,并且每轮询一次list的数量减去1

    Python支持对2个数字同时进行交换: a,b=b,a 交换a,b的值

"""


def bubble_sort(list):
    # 定义轮询次数
    loop = len(list) - 1
    while loop > 0:
        for i in range(loop):
            if list[i] > list[i + 1]:
                list[i], list[i + 1] = list[i + 1], list[i]
        loop = loop - 1


list = [2, 232, 54, 3, 343, 213, 345, 24225, 23, 31]
bubble_sort(list)
print list

# result
#

# C:Python27python.exe C:/Users/niuh/PycharmProjects/PyStudy/Core/algorithm/Day2_Sorting.py
# # [2, 3, 23, 31, 54, 213, 232, 343, 345, 24225]
原文地址:https://www.cnblogs.com/hylinux/p/5619954.html