php选择排序法

来源:互联网 发布:mac怎么安装steam 编辑:程序博客网 时间:2024/06/04 19:06

1、选择排序法实例详解:

<html><head><meta http-equiv="Content-Type" content="text/html;charset=utf-8" /></head><body><?php //忽略notice级错误提示//error_reporting(E_ALL^E_NOTICE); ?><?php /* 选择排序法的思路:就是再第一次循环中,假设第一个数是最小的;然后跟第二个数比较,一直比到最后,找出最小值,然后把最小值跟第一个数的位置互换;再进行下一次循环,找出最小值跟第二个位置的数互换;一直循环数组的个数减去1次;数组就成了有序的了 *///用函数封装选择排序法function selectSort(&$arr)  //注意此处要加地址传递符号;因为数组默认传递的是值,不是地址;若不地址传递,排序的是$arr而不是$asd。{//$arr = array(1,5,3,9,4,8,12,3,0,7,7.6,3.4,6);//定义一个中间变量$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;}}$asd = array(1,0,2,9,3,8,4,7,5,6);//调用选择排序法的函数selectSort($asd);//输出排序后数组  升序显示foreach($asd as $key=>$key_value){echo '$asd['.$key."]=".$key_value."<br>";}?></body></html>


1 0
原创粉丝点击