PHP冒泡排序,摘取季枫老师视频的冒泡排序内容!

<?php

//冒泡排序,摘取季枫老师视频的冒泡排序内容,个人觉得我对这个冒泡的解释理解起来是最容易的。记下来自己学习!!!

$arr=array(3,2,-5,9,-15,7);//指定一个数组 $bar=count($arr);         

//确定数组的元素的个数 $cnt=0;                 

//定义一个中间变量

//下面冒泡排序的主要关键代码部分    

for($i=0;$i<$bar;$i++){                         //外层for循环:是从$arr这个数组第0个元素开始取  

                                    

       for($j=$i+1;$j<$bar;$j++){       //内层for循环:是从$arr这个数组第1个元素开始取数,是因为上一个for循环已经从该数组第0个元素取值                           

                   if($arr[$i]>$arr[$j]){                                      

                                $cnt=$arr[$i];      //把一个比较后较大元素$arr[$i]赋给一个中间变量$cnt

                              $arr[$i]=$arr[$j];  //把比较后较小的一个值$arr[$j]赋给$arr[$i]

                               $arr[$j]=$cnt;      //再把被赋值后$cnt的值赋给$arr[$j]

                                                                                 //把两个for循环所取的数进行判断,如果左边大于                                     

                                                                                 //右边的,大数向后甩,左边小于右边,则两数不动       

                                                                                  //冒泡排序的核心思想是:把从第0个数组开始的每一个元素和分别后面进行比较,大

                                                                                  //于后面的,则把大的数向后甩,不大于两数位置不变 。  

           

                     }       

              }   

     }

              echo $i."</br>";    

               print_r($arr);

?>

 

 

 

//-------------------------------分--------------------------------------界----------------------------------------------------线------------------------------

//输出结果:

//0
//1
//2
//3
//4
//5
//Array (    [0] => -15    [1] => -5    [2] => 2    [3] => 3    [4] => 7    [5] => 9 )

 

posted @ 2017-04-10 09:54  iwango  阅读(238)  评论(0编辑  收藏  举报