冒泡算法

 冒泡排序的思想: 每次比较两个相邻的元素, 如果他们的顺序错误就把他们交换位置 比如有五个数: 12, 35, 99, 18, 76, 从大到小排序, 对相邻的两位进行比较

第一趟: 第一次比较: 35, 12, 99, 18, 76 第二次比较: 35, 99, 12, 18, 76 第三次比较: 35, 99, 18, 12, 76 第四次比较: 35, 99, 18, 76, 12 经过第一趟比较后, 五个数中最小的数已经在最后面了, 接下来只比较前四个数, 依次类推

第二趟 99, 35, 76, 18, 12 第三趟 99, 76, 35, 18, 12 第四趟 99, 76, 35, 18, 12 比较完成 冒泡排序原理: 每一趟只能将一个数归位, 如果有n个数进行排序,只需将n-1个数归位, 也就是说要进行n-1趟操作(已经归位的数不用再比较) 二、为什么要用冒泡函数: sort函数是“知其然”,算法是“知其所以然”。 在实际意义上也是有的,sort只能对基础类型数据串进行排序,如果需要对一组类或者结构体,针对某个成员进行排序,那么sort函数就无能为力了,需要自己写算法,这时候冒泡就有意义了。 而且,sort是系统提供函数,需要一个库支持,在没有这个函数的编程环境下,只能自己写了。 三、如何用冒泡函数 for i in range(len(nums)):    # 这个循环负责设置冒泡排序进行的次数     for j in range(len(nums)-1):  # j为列表下标         if nums[j] < nums[j+1]: #这里j 因为列表取值第一位是0 然后后面一位是1 不和自己比较所以索引+1             nums[j], nums[j+1] = nums[j+1], nums[j]#比较完毕后调换冒冒泡函数的位置,进行变量赋值 print(nums)

posted @ 2018-07-26 15:03  SH金刚狼  阅读(213)  评论(0编辑  收藏  举报