PHP学习之插入排序的实现

PHP学习之插入排序的实现

内容导读

收集整理的这篇技术教程文章主要介绍了PHP学习之插入排序的实现,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1261字,纯文字阅读大概需要2分钟

内容图文

本篇文章的主要内容是用PHP实现插入排序,简单却经典的一道算法题,不知你是否记得了,快随小编一起回顾一下吧。

  插入排序基本思路:将数组分为两个区(已排序区和未排序区),假定数组的第一个元素处于已排序区, 第一个元素之后的所有元素都处于未排序部分。排序时用到双层循环,外层循环用于从未排序部分中取出待排序元素,并逐步缩小未排序部分,内层循环用于从已排序部分寻找插入位置(即不断地从已排序部分寻找比待排序元素大的元素), 然后将较大的已排序区的元素后移,后移的最终结果是已排序区元素的最后一个元素占据待排序元素原来的位置,而已排序区中间空出一个位置),最后将待排序元素插入元素后移之后留下的空位。

//插入排序function insert_sort($arr) {

//获取数组单元个数

$count = count($arr);

//外层循环用于从未排序区域中取出待排序元素

for ($i=1; $i < $count; $i++) {



//获取当前需要插入已排序区域的元素值



$temp = $arr[$i];



//内层循环用于从已排序区域寻找待排序元素的插入位置



for ($j=$i-1; $j >= 0; $j--) {





//如果$arr[$i]比已排序区域的$arr[$j]小,就后移$arr[$j]





if ($temp < $arr[$j]) {











$arr[$j+1] = $arr[$j];







$arr[$j] = $temp;





} else {







//如果$arr[$i]不小于$arr[$j],则对已排序区无需再排序







break;





}



}

}

return $arr;}$arr = array(6, 19, 26, 62, 88, 99, 18, 16, 1);var_dump(insert_sort($arr));  测试结果:

  

相关教程:PHP视频教程

以上就是PHP学习之插入排序的实现的详细内容,更多请关注Gxl网其它相关文章!

内容总结

以上是为您收集整理的PHP学习之插入排序的实现全部内容,希望文章能够帮你解决PHP学习之插入排序的实现所遇到的程序开发问题。 如果觉得技术教程内容还不错,欢迎将网站推荐给程序员好友。

内容备注

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。


本文关键词:

联系我们

在线咨询:点击这里给我发消息

邮件:w420220301@qq.com