zoukankan      html  css  js  c++  java
  • PHP插入排序

    冒泡排序

    对数组$arr = [9,7,2,77,31]按从小到大进行排序

    $arr = [9,7,2,77,31];
    $length = count($arr);
    for($i=1;$i<$length;$i++)
    {
        $tmp = $arr[$i];
        for ($j=$i-1;$j>=0;$j--)
        {
            if($tmp<$arr[$j])
            {
                $arr[$j+1] = $arr[$j];
                $arr[$j] = $tmp;
            }
            else
            {
                break;
            }
        }
       
    }
    print_r($arr);
    得到结果
    Array
    (
        [0] => 2
        [1] => 7
        [2] => 9
        [3] => 31
        [4] => 77
    )
    
    

    比较,逻辑大致是这样的。默认第一个元素是最小值,所以从第二个元素开始一次与前面的元素进行比较,插入到合适的位置

    • i=1

      • j=0 时;将79进行比较。发现79小,交换位置,此时得到数组[7,9,2,77,31]
    • i=2

      • j=1时;将29进行比较。发现29小,交换位置,此时得到数组[7,2,9,77,31]
      • j=0时;将27进行比较。发现27小,交换位置,此时得到数组[2,7,9,77,31]
    • i=3

      • j=2时;将779进行比较。发现779大,跳出本次循环,此时数组依然为[2,7,9,77,31]
    • i=4

      • j=3时;将3177进行比较。发现3177小,交换位置,此时得到数组[2,7,9,31,77]
      • j=2时;将931进行比较。发现319大,跳出本次循环,此时数组依然为[2,7,9,31,77]

    原文地址:https://segmentfault.com/a/1190000016307316

  • 相关阅读:
    第二周作业
    求最大值及下标编程总结
    查找整数编程总结
    课程设计第一次实验总结
    第十二周作业
    第十一周作业
    第十周作业
    第九周作业
    第八周作业
    第七周作业
  • 原文地址:https://www.cnblogs.com/lalalagq/p/9971473.html
Copyright © 2011-2022 走看看