| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 数据结构与算法 -> python冒泡排序 -> 正文阅读 |
|
[数据结构与算法]python冒泡排序 |
假设有一个数组arr = [6, 4, 3, 1, 2]需要按从小到大的顺序排序,用眼睛一眼就看出来怎么排了,用程序该如何实现呢 冒泡排序的规则:1 相邻两个数比较,若前面的数大小后面的数,交换位置 2 再按1的规则进行排序,直到所有数都排好序为止 使用程序来模拟前面的规则,为了便于理解,我们先用数据来实际模拟一遍 原始数据集:6, 4, 3, 1, 2 第一轮结果:4, 3, 1, 2, 6 第二轮结果:3, 1, 2, 4, 6 第三轮结果:1, 2, 3, 4, 6 第四轮结果:1, 2, 3, 4, 6 详细说明 第一轮排序:6>4交换位置,变成4,6, 6>3交换位置变成3, 6, 6>1,交换位置变成1, 6, 6>2,交换位置变成2, 6, 第一轮排序完成,最终最大数6稳定在最后位置 第二轮排序:4>3交换位置,变成3,4,4>1交换位置变成1,4,4>2,交换位置变成2,4,最终剩下的最大数4稳定在倒数第二位置 第三轮排序:3>1交换位置,变成1, 3, 3>2交换位置变成2,3,最终剩下的最大数3稳定在倒数第三位置 第四轮排序:1<2,不变,2稳定在倒数第四位置 第五轮排序:只剩下1,1稳定在倒数第五位置 程序模拟:我们可以用程序模拟每一轮的排序过程:
说明:?可以每一轮都将相邻的数进行比较,则对于5个数的排序,应该是5-1次比较,第一轮是比较4次,第二轮则是3次,看起来是每多一轮就多减1,我们可以设置个参数index,每次多出来的就减index即可 每一轮排序完成,我们可以把5轮都做一下:
|
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/30 0:49:28- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |