PHP插入排序
PHP 插入排序
2023-09-27 14:26:43 时间
冒泡排序
对数组$arr = [9,7,2,77,31]
按从小到大进行排序
$arr = [9,7,2,77,31];
$length = count($arr);
for($i=1;$i<$length;$i++)
{
$tmp = $arr[$i];
for ($j=$i-1;$j>=0;$j--)
{
if($tmp<$arr[$j])
{
$arr[$j+1] = $arr[$j];
$arr[$j] = $tmp;
}
else
{
break;
}
}
}
print_r($arr);
得到结果
Array
(
[0] => 2
[1] => 7
[2] => 9
[3] => 31
[4] => 77
)
比较,逻辑大致是这样的。默认第一个元素是最小值,所以从第二个元素开始一次与前面的元素进行比较,插入到合适的位置
-
i=1
-
j=0
时;将7
与9
进行比较。发现7
比9
小,交换位置,此时得到数组[7,9,2,77,31]
-
-
i=2
-
j=1
时;将2
与9
进行比较。发现2
比9
小,交换位置,此时得到数组[7,2,9,77,31]
-
j=0
时;将2
与7
进行比较。发现2
比7
小,交换位置,此时得到数组[2,7,9,77,31]
-
-
i=3
-
j=2
时;将77
与9
进行比较。发现77
比9
大,跳出本次循环,此时数组依然为[2,7,9,77,31]
-
-
i=4
-
j=3
时;将31
与77
进行比较。发现31
比77
小,交换位置,此时得到数组[2,7,9,31,77]
-
j=2
时;将9
与31
进行比较。发现31
比9
大,跳出本次循环,此时数组依然为[2,7,9,31,77]
-
相关文章
- PHP获取一年中的每星期的开始日期和结束日期
- PHP函数传入年月日三个值,返回一年当中的第几天
- 只是备份的PHP代码
- php命令行运行出现错误Call to undefined function curl_init()
- 渗透测试-文件上传之获取php信息(一)
- PHP异步的玩法
- php DES加密或者解密
- Redis 笔记与总结8 PHP + Redis 信息管理系统(分页+好友关注)
- VS Code编辑器显示“无法验证,因为未设置任何 PHP 可执行文件。请使用设置
- 【Bilibili直播源】浏览器抓取真实直播源地址(纯前端JS & PHP解析源码)
- php 可逆加密方法
- [安全]PHP能引起安全的函数
- Ubuntu Apache vhost不执行php小记
- RabbitMQ官方中文入门教程(PHP版) 第四部分:路由(Routing)