我们先看一个代码:

这段代码的意思是:利用随机整数函数randint()生成1到35的随机数。通过while循环10次,生

成10个这样的随机数。将生成的10个随机数组成一个列表,并用冒泡排序法来对该列表进行排

序。

首先,我们定义一个空列表:

ran_list = [] ,其实我们还可以通过 ran_list = list() 的方式来生成一个空列表,但开发中更多的

是用ran_list = []的方式。

通过计数器i来控制循环次数,并利用append()函数将生成的随机数加到ran_list这个列表中。这

样就生成了一个列表,包含10个1到35的随机数。

冒泡排序法:依次比较相邻的两个数,将小的数放在前面,大的数放后面,直至所有相邻元素

比较完成后,序列按照从小到大的顺序排列。

在python中,冒泡排序的实现相当简单,只有如下4行代码:

外层循环 for m  in range(len(ran_list)):  用于控制循环的轮数,如第一轮:第一个元素与其后面元素

相比列表有多少个元素,外层元素将被执行元素数量减1次。内层循环 for n in range(m+1, len(ran_list)):

用于控制每一轮循环的次数,那么内层循环开始的元素应该是外层循环后面的第一个开始,所以内层

循环从m+1开始,通过比较ran_list[m]和ran_list[n],若前者大于后者,则互相交换位置。

python数组冒泡排序法_python 冒泡排序法相关推荐

  1. python冒泡排序函数_python冒泡排序-Python,冒泡排序

    arr = [ 7 , 4 , 3 , 67 , 34 , 1 , 8 ] . def bubble_sort : 最近在学习Python,下面是我的一些笔记 冒泡排序 实现思路: 使用双重for循环 ...

  2. python冒泡排序原理_python冒泡排序详解

    要学习冒泡排序必须知道它的原理: 冒泡排序算法的原理如下: 比较相邻的元素.如果第一个比第二个大,就交换他们两个. 对每一对相邻元素做同样的工作,从开始第一对到结尾的最后一对.在这一点,最后的元素应该 ...

  3. python连连看小游戏_python递归法实现简易连连看小游戏

    问题:简单版连连看小游戏 一个分割成w*h个正方格子的矩形板上,每个正方格子可以有游戏卡,也可以没有游戏卡 两个游戏卡之间有一条路径相连需满足以下三个条件: 1.路径只包含水平和垂直的直线段 2.路径 ...

  4. python回溯算法全排列_python 回溯法 子集树模板 系列 —— 11、全排列

    问题 实现 'a', 'b', 'c', 'd' 四个元素的全排列. 分析 这个问题可以直接套用排列树模板. 不过本文使用子集树模板.分析如下: 一个解x就是n个元素的一种排列,显然,解x的长度是固定 ...

  5. python数组求和函数_python数据分析之Numpy数据库第三期数组的运算

    上期数组的索引和切片的知识总结通道:数组的索引和切片 数组和标量间的运算 数组之所以强大而且重要的原因,是其不需要通过循环就可以完成批量计算,也就是矢量化 import numpy as np a = ...

  6. python数组取数_python 取数组

    广告关闭 腾讯云11.11云上盛惠 ,精选热门产品助力上云,云服务器首年88元起,买的越多返的越多,最高返5000元! 在python中计算一个多维数组的任意百分比分位数,只需用np.percenti ...

  7. python数组去重函数_Python科学计算库Numpy之 数组操作

    操作ndarray 的方法 numpy.reshape:这个函数在不改变数据的条件下修改形状 numpy.ndarray.flat:该函数返回数组上的一维迭代器,行为类似 Python 内建的迭代器 ...

  8. python数组内运算_Python数组介绍和操作运算详解

    本文概述 数组定义为存储在连续内存位置的项目的集合.这是一个可以容纳固定数量项目的容器, 这些项目应为同一类型.数组在大多数编程语言(例如C / C ++, JavaScript等)中都很流行. 数组 ...

  9. python数组加入值_python一维数组怎么添加元素

    数组是一种有序的集合,可以随时添加和删除其中的元素.可以使用append()函数数组末尾添加新的对象.也可以使用insert()函数将指定对象插入数组的指定位置. 1.append()函数: appe ...

最新文章

  1. SPU表管理之保存SPU表数据
  2. JChartFree创建饼形图
  3. 电脑卡得厉害,得采取一些措施了
  4. 比较两个时间字符串的大小
  5. 数据库-优化-数据库系统配置优化-配置文件优化
  6. 纪事本 乱码_纪事日记–可自定义的数据存储
  7. 【图像处理】libtiff读写三维TIFF图像(附详细代码)
  8. Scp远程批量执行命令
  9. 实战:node-react项目部署到服务器
  10. MySQL:unknown variable #39;master-host=masterIP#39; [ERROR] Aborting
  11. 74HC595的中文资料
  12. Python让AI虚拟主播接入微软Azure语音合成并精准嘴型同步
  13. MacbookPro中 Idea快捷建(记录中)
  14. P7939 [B1] Alice Wins(easy version)
  15. Hadoop——MapReduce相关eclipse配置及Api调用(图文超详细版)(内含遇到错误的解决方法)
  16. 国家开放大学计算机基础应用型题一,国家开放大学(电大)《计算机应用基础》上机网考常考操作题及步骤...
  17. go get timeout问题
  18. 相信技术的力量 - RSAC 2020 (2)
  19. 华为2020校招笔试编程题 看这篇就够了(上)
  20. 常用docker镜像

热门文章

  1. 最平凡的感动,最幸福的瞬间
  2. IP,DNS,子网掩码,路由器,交换机,ISP,这些网络术语是什么意思
  3. CSS去除元素点击时出现的小竖杠
  4. Mac 软件出现「意外退出」及「崩溃」修复方法
  5. mysql url secure auth_关于mysql的secure_auth
  6. C/C++游戏项目:《扫雷》
  7. 2022年-年度总结报告
  8. 24个核心知识点帮你全面了解什么是智慧灯杆?
  9. ESP32学习笔记(31)——BLE带有属性表的GATT服务
  10. JavaScript - Objects