冒泡排序
依次进行比较(从大到小)
function bubbleSort($arr,$len){
//循环次数
for($i=1;$i<$len;$i++){
for($j=0;$j<$len-$i;$j++){
//依次比较
if($arr[$j]<$arr[$j+1]){
$temp = $arr[$j];
$arr[$j] = $arr[$j+1];
$arr[$j+1] = $temp;
}
}
}
return $arr;
}
选择排序
一直保持第一个为最大的值(从大到小)
function selectSort($arr,$len){
//循环次数
for($i=0;$i<$len-1;$i++){
//假设第一个为最大的值
$p = $i;
//依次进行对比,找到最大的
for($j=$i+1;$j<$len;$j++){
if($arr[$p] < $arr[$j]){
$p = $j;
}
}
//确定当前最大的和我们假设的不一样则进行重新赋值
if($p!=$i){
$temp = $arr[$p];
$arr[$p] = $arr[$i];
$arr[$i] = $temp;
}
}
return $arr;
}
插入排序
每次从无序表中取出第一个元素,把它插入到有序表的合适位置,使有序表仍然有序。
function insertSort($arr,$len){
for($i=1;$i<$len;$i++){
//获取需要比较的值
$temp = $arr[$i];
for($j=$i-1;$j>=0;$j--){
if($arr[$j]<$temp){
$arr[$j+1] = $arr[$j];
$arr[$j] = $temp;
}
}
}
return $arr;
}