数组的排序方法
分为两在类:
1、内(内存)部排序
2、外部排序(数据量很大,内存放不下,需要借助外部
存储)
----------------
排序sorting是一个程序员的基本功
一:内部排序
(1)交换式排序
1、冒泡法
数组默认的传递是值传递,而不是地址传递
后面将讲到对象类型,对象默认的传递就是地址传递
//优化,将冒泡排序法封装成函数,利于以后使用
代码如下 | 复制代码 |
function bubbleSort(&$myarr){ $temp=0;//定义一个中间变量 //外层循环 for($i=0;$i<count($myarr)-1;$i++){ for($j=0;$j<count($myarr)-1-$i; $j++){ if($myarr[$j]>$myarr[$j +1]){ $temp=$myarr[$j]; $myarr[$j]= $myarr[$j+1]; $myarr[$j+1]= $temp; } } $arry=array(2,6,-4,7,9,0); |
2、快速排序法(神奇的快速,涉及到递归)
3、选择排序法
代码如下 | 复制代码 |
function selectSort(&$myarr){ $temp=0; for($i=0;$i<count($myarr)-1;$i++){ //假设$i就是最小的数 $minval=$myarr[$i]; //记录我认为的最小数的下标 $minIndex=$i; for($j=$i+1;$j<count($myarr);$j+ $minval=$myarr[$j]; } } } |
4、插入排序法
查询速度:冒泡排序法<选择排序法<插入排序法
个人最喜欢用的是交换排序了,就是大家说的泡泡排序法了,这种方法比较好用,但不适于大数据量的排序。
时间: 2024-10-03 14:40:08