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 实现

  1. function sortV1(array $values) : array
  2. {
  3. $len = count($values);
  4. for ($i = 0; $i < $len; $i++) {
  5. for ($j = 0; $j < $len - $i - 1; $j++) {
  6. if ($values[$j] > $values[$j+1]) {
  7. [$values[$j], $values[$j+1]] = [$values[$j+1], $values[$j]];
  8. }
  9. }
  10. }
  11. return $values;
  12. }
  13. return sortV1([1,3,4,2]); // output: [1,2,3,4]

PHP 实现2

  1. function sortV2(array $values) : array
  2. {
  3. $len = count($values);
  4. for ($i = 0, $exchange = true; $exchange && $i < $len; $i++) {
  5. for ($j = 0, $exchange = false; $j < $len - $i - 1; $j++) {
  6. if ($values[$j] > $values[$j+1]) {
  7. [$values[$j], $values[$j+1]] = [$values[$j+1], $values[$j]];
  8. $exchange = true;
  9. }
  10. }
  11. }
  12. return $values;
  13. }
  14. return sortV2([1,3,4,2]); // output: [1,2,3,4]

最后恰饭 阿里云全系列产品/短信包特惠购买 中小企业上云最佳选择 阿里云内部优惠券