画江湖之算法篇 [排序算法] 冒泡排序 
                                                    
                        
                    
                    
  
                    
                    算法篇
1 冒泡排序简介
概括:
冒泡排序是一种简单的排序算法。它重复地走访过要排序的数列,一次比较两个元素,如果它们的顺序错误就把它们交换过来。走访数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成。这个算法的名字由来是因为越小的元素会经由交换慢慢“浮”到数列的顶端
特点,就是第一次的时候最大的元素到最后面。
完整代码块:
<?php
class Sort{
    public static function bubble($arr){
        $size =  count($arr);
        for ($i=0; $i < $size ; $i++) {
            //第一次肯定把最大的移到最后,所以$j<$size-1-$i
            for ($j=0; $j < $size-1-$i ; $j++) {
                if($arr[$j]>$arr[$j+1]){
                    $tmp = $arr[$j];
                    $arr[$j]=$arr[$j+1];
                    $arr[$j+1]=$tmp;
                }
            }
        }
        return $arr;
    }
}
$arr = [9,4,6,8,17,12,44,12,56,71,21,19,81,99];
echo "<pre>";
// print_r(Sort::bubble($arr));2 分析代码块 具体分析到代码注释哦 ~
冒泡
public static function bubble($arr){
        $size =  count($arr);//先取出这个数组的大小
        for ($i=0; $i < $size ; $i++) {
            //第一次肯定把最大的移到最后,所以$j<$size-1-$i 小伙伴们 这是一个规律
            for ($j=0; $j < $size-1-$i ; $j++) {//内部循环$size-1-$i (数组的总长度减去1再减去外部循环到第几次)
                if($arr[$j]>$arr[$j+1]){//判断如果当前的值大于他后面的值
                    $tmp = $arr[$j];//申明一个临时变量 存储当前的值
                    $arr[$j]=$arr[$j+1];//把当前的值替换成下一个值
                    $arr[$j+1]=$tmp;//把下一个值替换成临时变量 也就是当前的值
                }
            }
        }
        return $arr;//返回排序完的数组
    }3 分析下 时间复杂度 参考下!
本作品采用《CC 协议》,转载必须注明作者和本文链接
任何编程效率的提升都可以用空间换时间,时间换空间哦~!所以算法很重要
 
           老妆的fs 的个人博客
 老妆的fs 的个人博客
        

 
             
             
                     
                     
             
             
           
           关于 LearnKu
                关于 LearnKu
               
                     
                     
                     粤公网安备 44030502004330号
 粤公网安备 44030502004330号 
 
推荐文章: