冒泡排序
-完整代码
/**
* 冒泡排序
* 思路:从头到位两两对比,前一个比后一个大,则交换两个数据的位置,第一轮对比完之后最大的数就确认了,
* 第二轮比对就不需要再比对最后一个数据了,以此类推,
* @param array $noSortArr 需要排序的数据
* @return array
*/
function bubblingSort($noSortArr) : array
{
$len = count($noSortArr);
for ($i = 0; $i < $len - 1; $i++) {
for ($j = 0; $j < $len - 1 - $i; $j++) {
if ($noSortArr[$j] > $noSortArr[$j + 1]) {
$temp = $noSortArr[$j + 1];
$noSortArr[$j + 1] = $noSortArr[$j];
$noSortArr[$j] = $temp;
}
}
}
return $noSortArr;
}
-运行测试代码
$arr = [3, 15, 12, 2, 20, 18, 16, 1, 6, 5, 4, 8, 7, 9, 13, 14, 10, 11, 19, 17];
echo '<pre>';
print_r(selectionSort($arr));
echo '</pre>';
-注意:请使用PHP7.0以上版本测试
-如有不正确的地方或者代码需要优化的地方,欢迎指正,谢谢!