layout: posttitle: PHP 冒泡排序的两种实现方式
subtitle: PHP 冒泡排序的两种实现方式
date: 2020-04-27
author: he xiaodong
header-img: img/default-post-bg.jpg
catalog: true
tags:
- Go
- PHP
- LeetCode
- 冒泡排序
PHP 实现:
function sortV1(array $values) : array
{
$len = count($values);
for ($i = 0; $i < $len; $i++) {
for ($j = 0; $j < $len - $i - 1; $j++) {
if ($values[$j] > $values[$j+1]) {
[$values[$j], $values[$j+1]] = [$values[$j+1], $values[$j]];
}
}
}
return $values;
}
return sortV1([1,3,4,2]); // output: [1,2,3,4]
PHP 实现2
function sortV2(array $values) : array
{
$len = count($values);
for ($i = 0, $exchange = true; $exchange && $i < $len; $i++) {
for ($j = 0, $exchange = false; $j < $len - $i - 1; $j++) {
if ($values[$j] > $values[$j+1]) {
[$values[$j], $values[$j+1]] = [$values[$j+1], $values[$j]];
$exchange = true;
}
}
}
return $values;
}
return sortV2([1,3,4,2]); // output: [1,2,3,4]