文章插图
大家好,小跳来为大家解答以上的问题 。Python冒泡排序PPT,python冒泡排序这个很多人还不知道,现在让我们一起来看看吧!
1、冒泡排序算法的运作如下:1. 比较相邻的元素 。
2、如果第一个比第二个大,就交换他们两个 。
3、2. 对每一对相邻元素作同样的工作,从开始第一对到结尾的最后一对 。
4、这步做完后,最后的元素会是最大的数 。
5、3. 针对所有的元素重复以上的步骤 , 除了最后一个 。
6、4. 持续每次对越来越少的元素重复上面的步骤 , 直到没有任何一对数字需要比较 。
7、所以可以看出,你代码仅仅比较了一次相邻的两个,而没有继续往后比较,输出的第三行开始出现问题 。
8、至于那个None,因为你定义函数没有返回值的原因 。
9、我给你三个函数 , 你对比一下:1234567891011121314151617181920212223242526272829303132def list_sort_new(list_in):for j in range(len(list_in)-1, 0 ,-1):for i in range(0, j):if list_in[i]>list_in[i+1]:list_in[i],list_in[i+1] = list_in[i+1],list_in[i]return list_in def list_sort_old(list_in):for j in range(len(list_in)-1, 0 ,-1):for i in range(0, j):if list_in[i]>list_in[i+1]:list_temp = list_in[i]list_in[i] = list_in[i+1]list_in[i+1] = list_tempreturn list_in def list_sort_test(list_in):for j in range(len(list_in)-1, 0 ,-1):for i in range(0, j):if list_in[i]>list_in[i+1]:print "before>> " + str(list_in[i])list_in[i] = list_in[i+1]print "after>> " + str(list_in[i])list_in[i+1] = list_in[i]print "and> " + str(list_in[i+1])return list_inlist_test = [2, 1, 3, 44, 22, 53, 25, 26]print list_testprint "*"*20print(list_sort_test(list_test))其中函数list_sort_new()和list_sort_old()都能实现你的目的,其中list_sort_new()中使用了指派运算,就相当于c语言的i++ 。
10、 list_sort_old()类似于你的想法 , 其中j的for实现了全部比较 , 而倒序减少了不必要的比较 , list_sort_test()告诉了你,为什么需要一个变量来充当缓存 。
11、住好运 。
【python冒泡排序 Python冒泡排序PPT】本文到此分享完毕 , 希望对大家有所帮助 。
- 金庸作品按时间排序
- 遇到稀盐酸会冒泡的岩石有哪些
- 冒泡射击 冒泡os
- 24个英文字母 24个英文字母排序
- 派森语言 派森语言python干什么的
- 学习Python用哪本书好
- 牛氏家谱排序
- 文件排序怎么设置一键重装系统
- 文件夹里的文件怎么自定义排序保存不了
- 怎么在安卓手机运行python