Python元组与字符串操作(10)——冒泡法
冒泡法
属于交换排序,元素两两比较大小,交换位置,结果可升序或降序排列
nums = [2,5,1,6,7,9,8,3,4]
for i in range(len(nums)): ##计数器0~8
flag = True ##假定达到目标排序,可以提前结束
for j in range(len(nums)-1-i):
if nums[j] > nums[j+1]:
nums[j],nums[j+1] = nums[j+1],nums[j]
##temp = nums[j]
##nums[j] = nums[j+1]
##nums[j+1] = temp
flag = False ##发生交换,继续下一轮排序
if not flag:
break
print(nums)
[1, 2, 3, 4, 5, 6, 7, 8, 9]
冒泡法总结
冒泡法需要数据一轮轮比较
可以设定一个标记判断此轮是否有数据交换发生,如果没有发生交换,可以结束排序,如果发生交换,继续下一轮排序
最差的排序情况是,初始顺序与目标顺序完全相反,遍历次数1,...,n-1之和n(n-1)/2
最好的排序情况是,初始顺序与目标顺序完全相同,遍历次数n-1
时间复杂度O(n**2)
Python元组与字符串操作(10)——冒泡法的更多相关文章
- Python元组与字符串操作(9)——随机数、元组、命名元组
随机数 import random #导入random模块 randint(a,b) 返回[a,b]之间的整数 random.randint(0,9) randrange([start],stop,[ ...
- Python元组与字符串操作(8)——三数排序多种实现
练习 依次接收用户输入的3个数,排序后打印 1.转换int后,判断大小排序,使用分支结构完成 num1 = [] for i in range(3): num1.append(int(input('& ...
- Python中的字符串操作总结(Python3.6.1版本)
Python中的字符串操作(Python3.6.1版本) (1)切片操作: str1="hello world!" str1[1:3] <=> 'el'(左闭右开:即是 ...
- python入门7 字符串操作
字符串操作 #coding:utf-8 #/usr/bin/python """ 2018-11-03 dinghanhua 字符串操作 ""&quo ...
- 一句python,一句R︱python中的字符串操作、中文乱码、NaN情况
一句python,一句R︱python中的字符串操作.中文乱码.NaN情况 先学了R,最近刚刚上手Python,所以想着将python和R结合起来互相对比来更好理解python.最好就是一句pytho ...
- 【Python自动化Excel】Python与pandas字符串操作
Python之所以能够成为流行的数据分析语言,有一部分原因在于其简洁易用的字符串处理能力. Python的字符串对象封装了很多开箱即用的内置方法,处理单个字符串时十分方便:对于Excel.csv等表格 ...
- python学习day3------列表、元组、字符串操作
一.列表 变量名后加中括号[],接下来介绍对列表进行查操作 #!/usr/bin/env python #-*- Coding:utf-8 -*- # Author:Eric.Shen test = ...
- Python3基础(2)模块、数据类型及运算、进制、列表、元组、字符串操作、字典
---------------个人学习笔记--------------- ----------------本文作者吴疆-------------- ------点击此处链接至博客园原文------ 1 ...
- Python 基础之字符串操作,函数及格式化format
一.字符串的相关操作 1.字符串的拼接 + strvar1 = "我爱你,"strvar2 = "亲爱的姑凉"res = strvar1 + strvar2pr ...
随机推荐
- JSON理解(一篇就够了)
可以看看视频讲解,视频几十分钟就结束了 JSON 1.什么是json 其实是一种数据格式的规范,与开发的语言无关,轻量级的数据格式 全称JavaScript Object Notation 2.优点: ...
- gn gen ninja
- MongoDB图形化工具(三)
一.安装 下载地址:https://www.mongodbmanager.com/download 注意:在下载的时候需要对应上自己安装的mongodb版本. 双击安装 选择“Full install ...
- 洛谷 P4316 绿豆蛙的归宿
洛谷 P4316 绿豆蛙的归宿 洛谷传送门 题目背景 随着新版百度空间的上线,Blog宠物绿豆蛙完成了它的使命,去寻找它新的归宿. 题目描述 给出一个有向无环图,起点为1终点为N,每条边都有一个长度, ...
- LG2375/LOJ2246 「NOI2014」动物园 KMP改造
问题描述 LG2375 LOJ2246 题解 看了题解,需要回看,需要继续通过本题深入理解KMP. 为了将 \(\mathrm{KMP}\) 和只插入了一个模式串的\(\mathrm{AC}\)自动机 ...
- boostrap --- 弹窗modal的使用
<input id="btntext" type="button" value="添加文本组件" data-toggle=" ...
- CSP-J&S2019第一轮认证游记
Day-0 晚上和高一大佬BH聊了聊,感觉大佬第一次参加比赛毕竟还是有点慌QAQ,毕竟我这么菜的人都没慌过. 做了一套模拟题,用45分钟瞎打的提高组卷子得了62分,还不错,正式比赛用2个小时好好答的话 ...
- 第02组 Beta冲刺(5/5)
队名:無駄無駄 组长博客 作业博客 组员情况 张越洋 过去两天完成了哪些任务 验收了小程序的主要功能 制作Beta展示所需要用到的视频 制作Beta展示PPT 准备Beta答辩 提交记录(全组共用) ...
- word设置标题1,标题2,标题3项目编号联动
word经常要按层级显示标题,并且标题样式之间要联动 如: 设置办法: word内鼠标右键 2.选择项目符号和编号 3.选择一个样式并自定义 将级别链接到样式.选择对应标题样式即可实现联动.
- nodejs插件化框架——minimajs
本文介绍我开发的一个JavaScript编写的插件化框架——minimajs,完全开源,源码下载地址:https://github.com/lorry2018/minimajs.该框架参考OSGi规范 ...