PHP 直接插入排序
2024-10-09 08:15:09
php数组下标从0开始,所以第一步就是数组长度加1,数组元素全部后移一位,把下标0对应值设置为哨兵。结果顺序排序完成后,删除哨兵。
function insert_sort($arr) {
//这里可以用数组函数array_unshift();
for($m=count($arr);$m>=0;$m--){
$arr[$m] = $arr[$m-1];
} for($i=2;$i<count($arr);$i++){
if($arr[$i]<$arr[$i-1]){
$arr[0] = $arr[$i];
for($j=$i-1; $arr[$j]>$arr[0]; $j--){
$arr[$j+1] = $arr[$j];
}
$arr[$j+1] = $arr[0]; }
}
return array_slice($arr,1);//用array_shift()较好
} $arr = array('8', '30', '50','0');
$sortarr = insert_sort($arr);
print_r($sortarr);
最新文章
- 在 ASP.NET CORE 中使用 SESSION
- 一次Oracle 11g+FluentNHibernate AutoMapping组合尝试
- Android Testing学习02 HelloTesting 项目建立与执行
- JS-计算器制作
- Unity Shaders Vertex &; Fragment Shader入门
- 视频处理控件TVideoGrabber如何重新编码视频
- hdoj - 5202 Rikka with string (BestCoder Round #37 ($))
- [原创]Devexpress XtraReports 系列 7 创建Drill-Down(向下钻取)报表
- asp.net core 认证及简单集群
- ip地址中的网络号,主机号
- Thrift初探:简单实现C#通讯服务程序
- substr(dirname(__FILE__))
- wifipineapple的evilportal
- [51nod1407]与与与与
- SpringMVC表当重复提交
- 又是一个Notepad++的问题
- django 使用mysql 数据库
- 语义SLAM的数据关联和语义定位(二)Semantic Localization Via the Matrix Permanent
- win7下配置spark
- Linux下对于makefile的理解