冒泡排序

冒泡排序

Posted by CHEN on March 15, 2019

看到的一些代码片段

PHP 实现冒泡排序 - 从小到大排序

<?php
// wakaka this is new test
// 好像处问题了
    // 数组元素值从小到大排序
    
    $arr = [1, 42, 0, 3, 15, 7, 19, 26];
    // 定义一个中间变量
    // this is one 1
    $temp = 0;
    // 外层循环的次数
    // this is two one
    
    for ($i = 0; $i < count($arr) - 1; $i++) {
        // 内层之间向右相邻的两个数组元素值进行比较
        
        for ($j = 0; $j < count($arr) - 1 - $i; $j++) {
            // 当后一个数组元素值大于前一个数组原数值
            
            if ($arr[$j] > $arr[$j+1]) {
                //数组元素交换
                
                $temp = $arr[$j];
                $arr[$j] = $arr[$j+1];
                $arr[$j+1] = $temp;
              }
           }
        // 外层数组循环的次数是---count($arr)-1
        // -1的原因(数组元素值比较时是两个比较)
        // 如3个数组元素比较2次
        // this is one one
        
        echo "这是第".($i+1)."次比较的结果";
        echo "<pre/>";
        print_r($arr);
        echo "<pre/>";
        // this is three
       }
    echo "<hr color=red />";
    echo "<pre/>";
    print_r($arr);
    echo "<pre/>"; 

// test again