PHP实现冒泡排序算法

来源:互联网 发布:文字ocr识别软件 编辑:程序博客网 时间:2024/05/17 20:25

冒泡排序bubbleSort.php

在要排序的一组数中,从前往后对相邻的两个数依次进行比较和调整,让较大的数往下沉,较小的往上冒。即,每当两相邻的数比较后发现它们的排序与排序要求相反时,就将它们互换位置;
5,4,1,3,2
// 4,1,3,2,5–4
// 1,3,2,4,5–3
// 1,2,3,4,5–2

<?php  $arr=array(5,4,1,3,2); print_r(bubbleSort($arr));   function bubbleSort($arr)  {      $len=count($arr);    //该层循环控制,从第二位开始比较,需要冒泡的轮数    for($i=1;$i<$len;$i++)    { //该层循环用来控制每轮 冒出一个数 需要比较的次数      for($k=0;$k<$len-$i;$k++)      {         if($arr[$k]>$arr[$k+1])          {              $tmp=$arr[$k+1];              $arr[$k+1]=$arr[$k];              $arr[$k]=$tmp;          }     }          //print_r($arr);die; 4,1,3,2,5  }    return $arr;  }   ?>