<?php
/*冒泡排序*/
//定义需要排序的数组
$arrData = array(-3,66,-5,19,188,99,0);
//定义执行排序的函数
function popSort(&$arrData){
for ($i=0; $i < count($arrData); $i++) { //从数组的第一个元素开始,直到最后
for ($j=1; $j < count($arrData); $j++) { //进行两两元素比较然后调换位置排序所做的操作
if ($arrData[$j-1] > $arrData[$j]) {
$temp = $arrData[$j-1]; //如果前一个元素大于后一个元素,将其先放置到一空容器,然后交换位置
$arrData[$j -1] = $arrData[$j];
$arrData[$j] = $temp;
}
}
}
}
popSort($arrData);
print_r($arrData);
/*选择排序*/
function selectSort(&$arrData){
for ($i=0; $i < count($arrData); $i++) {
for ($k= $i+1; $k < count($arrData); $k++) { //外层从第一个元素开始,取定一个元素后,则逐一跟后几个元素进行比较交换位置(依次是第一个元素跟第二个元素比较,第一个元素跟第三个元素比较,····,外层第二个元素,则第二个元素与第三个元素进行比较,第二个元素与第四个元素比较···依次类推
if ($arrData[$i] > $arrData[$k]){
$temp = $arrData[$i];
$arrData[$i] = $arrData[$k];
$arrData[$k] = $temp;
}
}
}
}
selectSort($arrData);
var_dump($arrData);
?>
PHP冒泡排序和选择排序的理解
最新推荐文章于 2021-08-07 11:11:42 发布