python冒泡排序怎么写,python对10个数进行冒泡排序

 2023-10-15  阅读 213  评论 0

摘要:今天小编mail为大家分享的生活小常识,希望能够帮助到大家!Python冒泡排序输入10个数,python冒泡排序这个很多人还不知道,现在让我们一起来看看吧!1、冒泡排序算法的运作如下:1. 比较相邻的元素。2、如果第一个比第二个大,就交换

今天小编mail为大家分享的生活小常识,希望能够帮助到大家!

Python冒泡排序输入10个数,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_temp    return 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_in  list_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、住好运。

Luochuanren.Com洛川人-综合信息门户网站,涵盖生活常识、美食、创业、体育、旅游、家居、汽车、财经、互联网、科技、房产、教育等资讯。

免责声明:我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理,本文部分文字与图片资源来自于网络,转载此文是出于传递更多信息之目的,若有来源标注错误或侵犯了您的合法权益,请立即通知我们,情况属实,我们会第一时间予以删除,并同时向您表示歉意,谢谢!

原文链接:http://www.luochuanren.com/99120.html

标签:个数python

发表评论:

管理员

  • 内容137217
  • 积分0
  • 金币0
关于我们
洛川人(luochuanren.com)陕西省洛川宣传信息展示网站,提房产,人才招聘,家居装饰,教育,论坛,贴吧,旅游,特产,二手车,美食,天气,娱乐,企业等资讯。
联系方式
电话:17898872021
地址:
Email:773537036@qq.com
注册登录
注册帐号
登录帐号

Copyright © 2022 洛川人 Inc. 【测试站】 保留所有权利。 Powered by 洛川人

陕ICP备2022013085号

  • 我要关灯
    我要开灯
  • 客户电话

    工作时间:8:00-18:00

    客服电话

    17898872021

    电子邮件

    773537036@qq.com

  • 官方微信

    扫码二维码

    获取最新动态

  • 返回顶部