一、冒泡排序
- 冒泡就是重复地遍历要排序的数列,一次比较两个元素(泡泡),如果他们的顺序错误就把他们交换过来,像泡泡一样,依次按照顺序上升排列。
- 冒泡排序算法的运作如下: 比较相邻的元素。 如果第一个比第二个大(升序),就交换他们两个。 对每一对相邻元素作同样的工作,从开始第一对到结尾的最后一对。 这步做完后,最后的元素会是最大的数。 针对所有的元素重复以上的步骤,除了最后一个。 持续每次对越来越少的元素重复上面的步骤,直到没有任何一对数字需要比较。
冒泡排序性质:
1.一趟排序能够找出参与本趟排序的元素最大值。
2.本趟排序找出的最大值不参与下一趟排序。
3.总的排序趟数等于总的元素个数减1.
4.每一趟排序的比较次数为参与本趟排序的元素个数减1
示例代码实现:
numList = [10, 55, 0, -10, 68, 99]
# 控制循环的趟数,同时还能控制每一趟排序的元数个数
for i in range(1, len(numList)):
for j in range(len(numList) - i):
if numList[j] > numList[j + 1]:
numList[j], numList[j + 1