| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> PHP知识库 -> php算法记录PHP常见的几种排序算法 -> 正文阅读 |
|
[PHP知识库]php算法记录PHP常见的几种排序算法 |
1.冒泡排序 排序原理:对一组数据,比较相邻数据的大小,把小的数据放在前面,值大的放在后面(默认升序排序) 每轮比较结果: 第一轮 冒泡 为8 3 4 5 2 6 8 1? ?3 4 5 2 6 8 1? ?3?4 2 5 6 8 1? ?3 4 2 5 6 8 1? ?3 4 2 5 6 8 1 ? 3 4 2 5 6 1 8 第二轮 冒泡 为6 3 4 2 5 6 1 8? ?3 2 4 5 6 1 8? ?3 2 4 5 6 1 8? ?3 2 4 5 6 1 8 ? 3 2 4 5 1 6 8 第三轮 冒泡 为5 2 3 4 5 1 6 8? ?2 3 4 5 1 6 8? ?2 3 4 5 1 6 8? ?2 3 4 1 5 6 8 第四轮 冒泡 为4 2 3 4 1 5 6 8???2 3 4 1 5 6 8? ?2 3 1 4 5 6 8 第五轮 冒泡 为3 2 1 3 4 5 6 8? ?2 1 3 4 5 6 8 第六轮 冒泡 为2 排序完成 1 2 3 4 5 6 8 2.选择排序 原理:在一组数据中,选出最小数与第一个位置的数交换。然后在剩下的数中再找最小的数与第二个位置的数交换,如此类推。 每次循环的结果都是每轮比较结果的比较值和每轮比较最小值的互换: 1352684? ?1253684? 1235684 1234685? 1234586 1234568 ?3.插入排序 原理:在要排序的一组数中,假设前面的数已经是排好顺序的,现在要把第n个数插到前面的有序数中,使得这n个数也是排好顺序的。如此反复循环,直到全部排好顺序 每轮最终比较结果: 3 4 5 2 6 8 1 3 4 5 2 6 8 1 2 3 4 5 6 8 1 2 3 4 5 6 8 1 2 3 4 5 6 8 1 1 2 3 4 5 6 8 ?4.快速排序 原理:从数组第一个元素开始依次确定从小到大的元素,通过设置一个初始中间值,来将需要排序的数组分成3部分,小于中间值的左边,中间值,大于中间值的右边,继续递归用相同的方式来排序左边和右边,最后合并数组 ? |
|
PHP知识库 最新文章 |
Laravel 下实现 Google 2fa 验证 |
UUCTF WP |
DASCTF10月 web |
XAMPP任意命令执行提升权限漏洞(CVE-2020- |
[GYCTF2020]Easyphp |
iwebsec靶场 代码执行关卡通关笔记 |
多个线程同步执行,多个线程依次执行,多个 |
php 没事记录下常用方法 (TP5.1) |
php之jwt |
2021-09-18 |
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
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年12日历 | -2024/12/29 18:12:31- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |
数据统计 |