冒泡排序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]