安暖如初

博客园 首页 新随笔 联系 订阅 管理

冒泡排序

冒泡排序是一种简单的排序算法。它重复地走访过要排序的数列,一次比较两个元素,如果它们的顺序错误就把它们交换过来。走访数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成。这个算法的名字由来是因为越小的元素会经由交换慢慢“浮”到数列的顶端。

 

 

 

以数组{22, 11, 33, 66, 88, 44, 55}为例(假设要求为升序排列),具体排列过程如下:

排序之前:[23, 41, 34, 16, 72, 60, 55]
第一次排序:[23, 34, 16, 41, 60, 55, 72] 最后一个是最大值
第二次排序:[23, 16, 34, 41, 55, 60, 72] 倒数第二是第二大的值
第三次排序:[16, 23, 34, 41, 55, 60, 72] 以此类推
第四次排序:[16, 23, 34, 41, 55, 60, 72]
第五次排序:[16, 23, 34, 41, 55, 60, 72]
第六次排序:[16, 23, 34, 41, 55, 60, 72]
第七次排序:[16, 23, 34, 41, 55, 60, 72]
排序之后:[16, 23, 34, 41, 55, 60, 72]

list = [23,41,34,16,72,60,55]
print("排序之前:",end="")
print(list)

for i in range(0,len(list)):#确定几轮

    for j in range(1,len(list)-i):

        if(list[j]<list[j-1]):#前面的比后面大
            c = list[j]
            list[j] = list[j-1]
            list[j-1] = c
    print(list)

print("排序之后:",end="")
print(list)

  



posted on 2021-06-04 23:22  安暖如初  阅读(67)  评论(0编辑  收藏  举报