当前位置:首页 > PHP教程 > php应用 > 列表

php实现冒泡排序实例

发布:smiling 来源: PHP粉丝网  添加日期:2018-05-31 10:02:11 浏览: 评论:0 

一个程序应包括:对数据的描述:在程序中要指定数据的类型和数据的组织形式,即数据结构(data structure)。对操作的描述:即操作步骤,也就是算法(algorithm)。

Nikiklaus Wirth提出的公式:程序=数据结构+算法

作为一个?潘砍绦蛟北匦氲枚?闼惴ò?就从最简单的开始吧=> 冒泡排序

维基百科的说法:

冒泡排序(英语:Bubble Sort,台湾另外一种译名为:泡沫排序)是一种简单的排序算法。它重复地走访过要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来。走访数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成。这个算法的名字由来是因为越小的元素会经由交换慢慢“浮”到数列的顶端。

我理解冒泡排序就是小学生排队,你比我个子矮(数字小),你就站我前面(浮上去),直到找到比我个子高那个,我站在他的前面,他继续往后面比个子!

直接上PHP代码:

  1. <?php 
  2.  
  3. $arr = array(1, 43, 54, 72, 21, 66, 32,55,11, 78, 36, 76, 39,88); 
  4. function getpao($arr
  5.     $len = count($arr); 
  6.     //设置一个空数组 用来接收冒出来的泡 
  7.     //该层循环控制 需要冒泡的轮数 
  8.     for ($i = 1; $i < $len$i++) { //该层循环用来控制每轮 冒出一个数 需要比较的次数 
  9.         for ($k = 0; $k < $len - $i$k++) { 
  10.             if ($arr[$k] > $arr[$k + 1]) { 
  11.                 $tmp = $arr[$k + 1]; 
  12.                 $arr[$k + 1] = $arr[$k]; 
  13.                 $arr[$k] = $tmp
  14.             } 
  15.         } 
  16.     } //phpfensi.com 
  17.     return $arr
  18. var_dump(getpao($arr));

Tags: 实例

分享到: