# 冒泡排序

# 原理

从无序集合的第一个元素开始,每次取当前元素以及下一个元素进行比较,
大的放在后面,这样一轮比较完后,最大的元素就变成了最后一个,
以此模式进行多轮比较以得出有序集合。
如果需要得出逆序的集合则从后往前排即可。

# 原理图

# 实现

inputArr = [10, 34, 29, 4, 0, 34, 5, 4, 36, 1, 8]
print("未排序集合:{0}".format(inputArr))
length = len(inputArr)
for index in range(0, length-1):
    for maxIndex in range(1, length-index):
        if(inputArr[maxIndex-1] > inputArr[maxIndex]):
            inputArr[maxIndex-1], inputArr[maxIndex] =\
                inputArr[maxIndex], inputArr[maxIndex-1]
print("已排序集合:{0}".format(inputArr))
1
2
3
4
5
6
7
8
9
10
11