zoukankan      html  css  js  c++  java
  • 冒泡排序

    <?php 
    // print_r($_SERVER);
    // print_r($_REQUEST);
    // print_r($_ENV);
    // 冒泡排序
    $arr=array(5,-1,10);
    // $temp=0;
        for($i=0;$i<count($arr)-1;$i++){
            // 定义一个变量$i=0;
            // $i=0;$i<(3-1);$i=1
            for($j=0;$j<count($arr)-1-$i;$j++){
                // $j=0;$j<(3-1-1);$j=1
                if($arr[$j]>$arr[$j+1]){
                    // 5>-1?
                    $temp=$arr[$j];
                    // $temp=5
                    $arr[$j]=$arr[$j+1];
                    // $arr[1]=$arr[2] 将第二个值付给第一个值
                    // 数组变为(-1,-1,10)
                    var_dump($arr);
                    // 完成替换
                    $arr[$j+1]=$temp;
                    // $arr[2]=$temp
                    var_dump($arr);                
                    // 完成排序
                }
            }
        }
    
        // 为了更好使用排序,我们将其封装成一个函数:代码如下 :
        function bubbleSort(&$myarr){    
            $temp=0;
            //这是一个中间变量
            //外层循环,我们要把数组,从小到大
         // 数组默认传递的是值,不是地址
    
            for($i=0;$i<count($myarr)-1;$i++){        
                for($j=0;$j<count($myarr)-1-$i;$j++){                
                    //说明前面的数比后面的数大,就要交换                
                    if($myarr[$j]>$myarr[$j+1]){                    
                        $temp=$myarr[$j];
                        $myarr[$j]=$myarr[$j+1];
                        $myarr[$j+1]=$temp;                    
                    }
                }
            }
            echo "<br/>函数中的myarr数组";
            var_dump($myarr);
        }
        //使用函数去排序
        bubbleSort($arr);    
        //输出
        var_dump($arr);
    ?>    
     
    

      

  • 相关阅读:
    软件下载
    01_动态规划之01背包问题
    25_使用切片建立一个动态的二位数组.go
    为什么突然想起来写博客
    24_切片的使用
    23_随机数的生成和冒泡排序
    22_数组做函数参数
    21_一维数组和二位数组的使用
    20_指针类型的使用
    19_获取命令参数
  • 原文地址:https://www.cnblogs.com/aten/p/8393271.html
Copyright © 2011-2022 走看看