冒泡排序描述:
冒泡排序是指重复地走访过要排序的数列,一次比较相邻的元素,如果它们顺序不对(一般指升序)就把它们交换过来,直到没有可交换的元素,则排序完成(最终从小到大进行排序)。
原理分析:
根据原理可知,分为两层,第一层遍历一趟只选出一个数,假设有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)