冒泡排序算法-详解

这是我第一篇描述算法的文章随笔,为何开始写这个呢?在求职的路上,算法是大厂必考项也是大部分互联网公司注重的部分,由于算法的不足,咱们可能会错失不少好的工做和锻炼学习的机会。在从此的学习中,我也会持续更新,一块儿学习一块儿分享。算法

接下来开始正文部分
学习

 

 

 

 

 

 

 

 

 

含义:

冒泡排序:在待排序的元素列中每次对比相邻两个元素的值,大的元素被交换到后面,第一次排序以后在元素列中最大的元素就位于元素列的末尾,而后再次从头开始重复以前的对比,每次排序的元素列长度-1,直至排序完成。spa

图示分析:

下面经过图示的方法来解析冒泡排序的一次排序对比,选出元素列中的最大值code

下面是整个元素列的排序流程,根据上面的一次排序流程,能够对比这下图仔细分析一下,以便可以详细的理解冒泡排序的原理。blog

 

 

 冒泡排序说的直白一点,其实就是循环这个元素列,对比元素列中的第一个值和第二个值的大小,若是第一个值大于第二个值,那么就交换值,而后再次对比第二个值和第三个值的大小,一次类推,直至到元素列尾,完成一趟冒泡排序。排序

接下来,让咱们直接上代码,看一下这个冒泡排序的真实面目:io

代码:

function givePao($arr){
    $count=count($arr);
    if (0==$count){
        return false;
    }
    for ($i=0;$i<$count;$i++){
        for ($j=0;$j<$count-1-$i;$j++){
            if($arr[$j]>$arr[$j+1]){
                $temp=$arr[$j+1];
                $arr[$j+1]=$arr[$j];
                $arr[$j]=$temp;
            }
        }
    }
    return $arr;
}

好了,今天的文章就分享到这里,我的理解有限,不足的地方欢迎你们留言指正!function

我是大家的朋友-五哥!class

相关文章
相关标签/搜索