首页 > 代码库 > PHP学习笔记十二【数组排序】
PHP学习笔记十二【数组排序】
<?php $arr=array(0,5,-1); $temp=0; for($i=0;$i<count($arr)-1;$i++) { for($j=0;$j<count($arr)-1-$i;$j++) { if($arr[$j]>$arr[$j+1]) { $temp=$arr[$j]; $arr[$j]=$arr[$j+1]; $arr[$j+1]=$temp; } } } foreach($arr as $val) { echo "<br>".$val; } selectSort($arr); print_r($arr); InsertSort($arr); print_r($arr); //选择排序 function selectSort(&$arr) { $temp=0; for($i=0;$i<=count($arr)-1;$i++) { //假设$i就是最小的数 $minval=$arr[$i]; //记录我认为的最小数的下标 $minIndex=$i; for($j=$i+1;$j<count($arr);$j++) { //说明我们认为的最小值,不是最小 if($minval>$arr[$j]) { $minval=$arr[$j]; $minIndex=$j; } //最后进行交换 $temp=$arr[$i]; $arr[$i]=$arr[$minIndex]; $arr[$minIndex]=$temp; } } } //插入排序 function InsertSort(&$arr) { //先默认下标为0这个数已经有序 for($i=0;$i<count($arr);$i++) { //$insertVal是准备插入的数 $insertVal=$arr[$i]; //准备先和$insertIndex比较 $inserIndex=$i-1; //如果这个条件满足,说明,我们还没有找到合适的位置 while($inserIndex>0&&$insertVal<$arr[$inserIndex]) { //同时把数后移 $arr[$inserIndex+1]=$arr[$inserIndex]; $inserIndex--; } //插入(这时就给$insertVal找到适当的位置) $arr[$inserIndex+1]=$insertVal; } }?>
PHP学习笔记十二【数组排序】
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。