python手写十大经典排序算法 一.冒泡排序法
冒泡排序 (1)实现步骤 1.比较相邻两个元素,如果第一个比第二个大就交换对应位置 2.对每一对相邻元素作同样的操作,从开始第一对到结尾的最后一对。这步做完后,最后的元素会是最大的数。 3.针对所有的元素重复以上的步骤,除了最后一个。 4.持续每次对越来越少的元素重复上面的步骤,直到没有任何一对数字需要比较。 (2)动画演示 (3)手撸代码 老铁看图,我在给您亲自捋一遍,如何用python实现冒泡排序.首先循环嵌套是跑不了,外层循环是用来控制运行次数,内层循环是实现,相邻两个位置上数的大小比较. lst = [ 5 , 9 , 4 , 8 , 7 ] # 设置一个待排序的数列 for i in range ( len ( lst ) ) : # 第一层循环:控制次数 for j in range ( len ( lst ) - 1 - i ) : # 第二次循环:实现相邻位置比大小,交换的功能 if lst [ j ] > lst [ j + 1 ] : lst [ j ] , lst [ j + 1 ] = lst [ j + 1 ] , lst [ j ] ```python 在这里插入代码片 (4)优化 如果说对于一个lst这种的,正好符合顺序,而常规操作,依旧是对他进行一遍无用操作 因此可得:优化点就是,尽量减少无用操作.只要知道本趟一次都没有交换位置的,就可以知道了