简介:这是数据结构&算法(PHP描述) 简单选择排序 simple selection sort的详细页面,介绍了和php,有关的知识、技巧、经验,和一些php源码等。
class='pingjiaF' frameborder='0' src='http://biancheng.dnbcw.info/pingjia.php?id=343577' scrolling='no'>1 <?php
2 /**
3 * 简单选择排序 simple selection sort
4 *
5 * 原理: 一次选定数组中的每一个数,记下当前位置并假设它是从当前位置开始后面数中的最小数min=i,从这个数的下一个数开始扫描直到最后一个数,并记录下最小数的位置min,扫描结束后如果min不等于i,说明假设错误,则交换min与i位置上数。
6 */
7 function sort_simple_selection($list)
8 {
9 $len = count($list);
10 if(empty($len)) return $list;
11
12 for($i = 0;$i < $len; $i++)
13 {
14 $min = $i;
15 for($j = $i + 1; $j < $len; $j++)
16 {
17 //if($list[$j] > $list[$min]) // 从大到小
18 if($list[$j] < $list[$min]) // 从小到大
19 {
20 $min = $j;
21
22 }
23 echo implode(',',$list)."#pos=".($min + 1)." min=".$list[$min]."<br/>";
24 }
25 if($min != $i)
26 {
27 $temp = $list[$i];
28 $list[$i] = $list[$min];
29 $list[$min] = $temp;
30 }
31 echo "-------------------------<br/>";
32 }
33 }
34
35 $list = array(4,3,2,1,5,7,3,7);
36 $list = sort_simple_selection($list);