<?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冒泡排序和选择排序的理解
猜你喜欢
转载自blog.csdn.net/zhousulian/article/details/80408712
今日推荐
周排行