【算法入门】php算法大全之冒泡排序算法

2015/10/0719:27:43【算法入门】php算法大全之冒泡排序算法已关闭评论 940

程序的核心是算法

什么是算法?

通俗而言,算法是一个定义明确的计算过程,可以一些值或一组值作为输入并产生一些值或一组值作为输出。因此算法就是将输入转为输出的一系列计算步骤。

简言之,算法就是可完成特定任务的一系列步骤,算法应该具备三大基本特征
确定性。指令明确,算法中每一步骤都必须有明确定义,不允许有多义性;
有穷有限性。算法必须能在有限的时间内做完,即能在执行有限个步骤后终止;
有效可行性。算法原则上能够精确地执行;

我是从冒泡算法开始学习算法大全的。

冒泡排序(Bubble Sort),是一种计算机科学领域的较简单的排序算法。在排序过程中总是小数往前放,大数往后放,相当于气泡往上升。

冒泡排序例子

//冒泡排序 (一维数组)
//思路:每次从数组当中 冒一个最大的数出来,从小到大,第一轮排最小,第二轮排第二小,第三轮排第三小,依次类推...
function bubble_sort($array) {
 $count = count($array);
 if($count < 0) {
 return false;
 }
 //每循环一次,就跑一趟后面的排序
 //该层循环控制 需要冒泡的轮数
 for($i = 0; $i < $count; $i++) {
 //该层循环用来控制每轮 冒出一个数 需要比较的次数
 for($j = $count - 1; $j > $i; $j--) {
//$array[$j] > $array[$j - 1]  //从大到小降序排序
 if($array[$j] < $array[$j - 1]) {
 $tmp = $array[$j];
 $array[$j] = $array[$j - 1];
 $array[$j - 1] = $tmp;
 }
 }
 }
 return $array;
}
//$arr=array(32,34,343,676,3,2,5,7,8,12,43);
//var_dump( bubble_sort($arr));

 

  • 我的微信
  • 这是我的微信扫一扫
  • weinxin
  • 我的微信公众号
  • 我的微信公众号扫一扫
  • weinxin