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