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

    插入排序思想:

    1. 插入排序(Insertion Sort)的算法描述是一种简单直观的排序算法。 
    2. 它的工作原理是通过构建有序序列,对于未排序数据,在已排序序列中从后向前扫描, 
    3. 找到相应位置并插入。插入排序在实现上,通常采用in-place排序(即只需用到O(1)的额外空间的排序), 
    4. 因而在从后向前扫描过程中,需要反复把已排序元素逐步向后挪位,为最新元素提供插入空间。
       1 <?php
       2 $arr = [2, 3, 1, 6, 4, 7, 5, 9];
       3 
       4 var_dump(insertsort($arr));
       5 function insertSort($arr) {
       6     $len = count($arr);
       7     for ($i = 1; $i < $len; $i++) {
       8         // 当前值
       9         $key = $arr[$i];
      10         // 当前位置
      11         $pos = $i;
      12         // 如是当前位置 >0 && 当前值的前一个值 > 当前值 选出最值
      13         while ($pos > 0 && $arr[$pos - 1] > $key) {
      14             // 当前值  =  前一个值
      15             $arr[$pos] = $arr[$pos - 1];
      16             // 当前位置后移
      17             $pos = $pos - 1;
      18         }
      19         // 找到当前值的位置
      20         $arr[$pos] = $key;
      21     }
      22     return $arr;
      23 }
      
  • 相关阅读:
    python ORM的使用
    python写入mysql
    远程连接不上centos的mysql的解决方法
    linux上mysql的安装
    缓存模块redis
    topic模式下的收发
    direct模式下的收发
    广播模式下的生产者与消费者fanout模式
    [HNOI2008]玩具装箱TOY
    [NOI2009]二叉查找树
  • 原文地址:https://www.cnblogs.com/catcrazy/p/6395661.html
Copyright © 2011-2022 走看看