Python 冒泡排序_python

Python 冒泡排序_python要学习冒泡排序必须知道它的原理:冒泡排序算法的原理如下:比较相邻的元素。如果第一个比第二个大,就交换他们两个。对每一对相邻元素做同样的工作,从开始第一对到结尾的最后一对。在这一点,最后的元素应该会是最大的数。针对所有的元素重复以上的步骤,除了最后一个。持续每次对越来越少的元素重复上面的步骤,直到没有任何一对数字需要比较。例子:1,2,3,4,5,6就拿1到6来举例子吧!这里面有n个数字,你要对其进…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE稳定放心使用

要学习冒泡排序必须知道它的原理:

冒泡排序算法的原理如下:

比较相邻的元素。如果第一个比第二个大,就交换他们两个。

对每一对相邻元素做同样的工作,从开始第一对到结尾的最后一对。在这一点,最后的元素应该会是最大的数。

针对所有的元素重复以上的步骤,除了最后一个。

持续每次对越来越少的元素重复上面的步骤,直到没有任何一对数字需要比较。

例子:

1,2,3,4,5,6

就拿1到6来举例子吧!这里面有n个数字,你要对其进行从大到小的排序的话,你就要拿相邻的两个数进行比较,如果第一个数比第二个大就交换他们的位置:第二个就和第三个比较,一直这样下去,直到最小的就会在最后面了,然后继续从第一和第二个进行比较,如此下去。

第1轮: 1,2,3,4,5,6 2,1,3,4,5,6 2,3,1,4,5,6 2,3,4,1,5,6 2,3,4,5,1,6 2,3,4,5,6,1

第2轮:2,3,4,5,6,1 3,2,4,5,6,1 3,4,2,5,6,1 3,4,5,2,6,1 3,4,5,6,2,1

第3轮:3,4,5,6,2,1 4,3,5,6,2,1 4,5,3,6,2,1 4,5,6,3,2,1

第4轮:4,5,6,3,2,1 5,4,6,3,2,1 5,6,4,3,2,1

第5轮:5,6,4,3,2,1 6,5,4,3,2,1

由上面可以清楚了解到一个进行了五轮排序,后一轮都要比前一轮少一次比较,第一轮进行n-1次比较

这样就可以编写代码了

a_list = [1, 2, 3, 4, 5, 6]

for t in range(len(a_list)-1):

for i in range(0, len(a_list)-1):

tmp = a_list[i]

if a_list[i] < a_list[i+1]:

a_list[i] = a_list[i+1]

a_list[i+1] =tmp

print(a_list)

这样就是冒泡排序了。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/181512.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • leetcode_1049. Last Stone Weight II_[DP]

    leetcode_1049. Last Stone Weight II_[DP]

    2021年7月7日
    96
  • 数据库之MySql建议收藏

    1.mysql安装mysql是一种开放源代码的关系型数据库管理系统(RDBMS),是使用最常用的数据库管理语言–结构化查询语言(SQL)进行数据库管理。(1)下载地址:https://dev.

    2021年12月18日
    46
  • vue的双向绑定原理及实现_vue的数据绑定怎么实现

    vue的双向绑定原理及实现_vue的数据绑定怎么实现vue双向绑定原理浅析1、什么是双向绑定?​ 所谓双向绑定,指的是vue实例中的data与其渲染的DOM元素的内容保持一致,无论谁被改变,另一方会相应的更新为相同的数据。(数据变化更新视图,视图变化更新数据)2、如何实现双向绑定?在vue中可以通过v-model实现双向绑定<template><divid=”app”>{{username}}<br/><inputtype=”text”v-model=”username”&

    2022年10月18日
    2
  • Php公众号40029,网页授权获取微信用户信息错误40029:不合法的oauth_code

    Php公众号40029,网页授权获取微信用户信息错误40029:不合法的oauth_code这几天测试刚完成的网页授权获取微信用户信息功能。在第一步:用户同意授权获取code,通过code获取access_token时,有时会出现40029错误。经过调试,发现问题出现在redirect_uri=REDIRECT_URI当跳转到授权链接后,微信会发出两次转向至redirect_uri的相同请求(两次带进来的code是相同的)。第一次的code后已经成功换取得openid以及access_t…

    2022年5月1日
    65
  • Android之CardView[通俗易懂]

    Android之CardView[通俗易懂]文章目录一、常用属性二、属性效果展示三、案例展示具体代码:1、一个最简单的示例:2、复杂化四、案例1、布局搭建2、实体类创建3、功能实现4、适配CardView继承FrameLayout一、常用属性1、cardBackgroundColor设置背景色CardView是View的子类,View一般使用Background设置背景色,为什么还要单独提取出一个属性让我们来设置背景色呢?为了…

    2022年10月11日
    4
  • 散列表采用线性探测法会出现_平方探测法解决冲突

    散列表采用线性探测法会出现_平方探测法解决冲突第一、前言ThreadLocal使用的是自定义的ThreadLocalMap,接下来我们来探究一下ThreadLocalMap的hash冲突解决方式。第二、ThreadLocal的set()方法publicvoidset(Tvalue){Threadt=Thread.currentThread();ThreadLocal.ThreadLocalMapmap=getMap(t);if(map!=null)map.set(this,

    2022年10月21日
    2

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号