当前位置:   article > 正文

48、PHP 实现冒泡排序法

48、PHP 实现冒泡排序法

题目: PHP 实现冒泡排序法

描述:

/**

  • 第1趟:
  • 3, 6, …
  • 2, 6, 3, …
  • 2, 6, 3, 4, …
  • 2, 6, 3, 4, 10, …
  • 1, 6, 3, 4, 10, 2, …
  • 1, 6, 3, 4, 10, 2, 9, …
  • 1, 6, 3, 4, 10, 2, 9, 8, …
  • 1, 6, 3, 4, 10, 2, 9, 8, 5, …
  • 1, 6, 3, 4, 10, 2, 9, 8, 5, 7
  • 第2趟:
  • 1, 3, 6, …
  • 1, 3, 6, 4, …
  • 1, 3, 6, 4, 10, …
  • 1, 2, 6, 4, 10, 3, …
  • 1, 2, 6, 4, 10, 3, 9, …
  • 1, 2, 6, 4, 10, 3, 9, 8, …
  • 1, 2, 6, 4, 10, 3, 9, 8, 5, …
  • 1, 2, 6, 4, 10, 3, 9, 8, 5, 7
  • 第3趟:
  • 1, 2, 4, 6, …
  • 1, 2, 4, 6, 10, …
  • 1, 2, 3, 6, 10, 4, …
  • 1, 2, 3, 6, 10, 4, 9, …
  • 1, 2, 3, 6, 10, 4, 9, 8, …
  • 1, 2, 3, 6, 10, 4, 9, 8, 5, …
  • 1, 2, 3, 6, 10, 4, 9, 8, 5, 7
  • 第4趟
  • 1, 2, 3, 6, 10, …
  • 1, 2, 3, 4, 10, 6, …
    */
/**
 * 冒泡排序
 * 基本思路
 * 将被排序的记录数组R[1..n]垂直排列,
 * 每个记录R[i]看作是重量为R[i].key的气泡。
 * 根据轻气泡不能在重气泡之下的原则,
 * 从下往上扫描数组R:
 * 凡扫描到违反本原则的轻气泡,就使其向上"飘浮"。
 * 如此反复进行,
 * 直到最后任何两个气泡都是轻者在上,重者在下为止。
 */
function bubbleSort(array $list)
{
	$length = count($list);
	for($i = 0; $i < $length; $i++){
		for($j = $i + 1; $j < $length; $j++){
			if($list[$j] < $list[$i]){
				$temp = $list[$i];
				$list[$i] = $list[$j];
				$list[$j] = $temp;
			}
		}
		var_dump($list);
		echo '<br>';
	}
	return $list;
}
$list = array(3, 6, 2, 4, 10, 1 ,9, 8, 5, 7);
var_dump(bubbleSort($list));
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/运维做开发/article/detail/919774
推荐阅读
相关标签
  

闽ICP备14008679号