dmz社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 7212|回复: 70

[功能实现] Python与PHP实现插入排序

  [复制链接]
  • TA的每日心情

    2024-11-19 20:46
  • 签到天数: 244 天

    [LV.8]以坛为家I

    4434

    主题

    1459

    帖子

    1万

    积分

    会|员

    Rank: 9Rank: 9Rank: 9

    积分
    10734
    发表于 2019-1-14 20:37:09 | 显示全部楼层 |阅读模式

    本站资源全部免费,回复即可查看下载地址!

    您需要 登录 才可以下载或查看,没有帐号?立即注册

    x
    插入排序Python实现
    [Python] 纯文本查看 复制代码
    import random
    
    a=[random.randint(1,999) for x in range(0,36)]
    
    # 直接插入排序算法
    def insertionSort(a):
        for i in range(1,len(a)):
            # 若下标为i的元素小于下标为i-1的元素,则将下标为i的元素放到合适位置
            if a[i] < a[i-1]:
                tmp = a[i]
                j = i-1
                # 寻找a[i]的合适位置,并将a[i-1]至a[i]新位置的元素依次后移
                while j >= 0 and tmp < a[j]:
                    a[j+1] = a[j]
                    j = j-1
    
                # 将a[i]放到新位置
                a[j+1] = tmp
    
    insertionSort(a)
    print(a)


    插入排序PHP实现
    [PHP] 纯文本查看 复制代码
    <?php
    // 生成待排序数组
    $a = [];
    for($i=0;$i<36;$i++){
        array_push($a,mt_rand(1,999));
    }
    shuffle($a);
    
    /**
     * 插入排序 insertion sort
     * @param  [type] $a 待排序数组的引用
     * @return null
     */
    function insertionSort(&$a){
        for($i = 1;$i<count($a);$i++){
            // 若下标为i的元素小于下标为i-1的元素,则将下标为i的元素放到合适位置
            if($a[$i] < $a[$i-1]){
                $tmp = $a[$i];
                // 寻找a[i]的合适位置,并将a[i-1]至a[i]新位置的元素依次后移
                for($j = $i-1; $j>=0 && $tmp<$a[$j];$j--)
                    $a[$j+1] = $a[$j];
                // 将a[i]放到新位置
                $a[$j+1] = $tmp;
            }
        }
    
    }
    
    insertionSort($a);
    var_dump($a);


    插入排序时间复杂度分析插入排序算法的时间复杂度为O(n2),但是插入排序法比冒泡和选择排序的性能更好。

    回复

    使用道具 举报

    该用户从未签到

    2

    主题

    3466

    帖子

    -6

    积分

    终身会员[A]

    Rank: 7Rank: 7Rank: 7

    积分
    -6

    发表于 2019-1-15 12:07:26 | 显示全部楼层
    支持一下:lol
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    37

    主题

    7917

    帖子

    1069

    积分

    终身会员[A]

    Rank: 7Rank: 7Rank: 7

    积分
    1069

    发表于 2019-1-17 12:22:03 | 显示全部楼层
    学习了,不错,讲的太有道理了
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    24

    主题

    7885

    帖子

    962

    积分

    终身会员[A]

    Rank: 7Rank: 7Rank: 7

    积分
    962

    发表于 2019-1-17 15:23:56 | 显示全部楼层
    正需要,支持楼主大人了!
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    26

    主题

    7864

    帖子

    958

    积分

    终身会员[A]

    Rank: 7Rank: 7Rank: 7

    积分
    958

    发表于 2019-1-20 21:40:19 | 显示全部楼层
    学习了,谢谢分享、、、
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    21

    主题

    7719

    帖子

    998

    积分

    终身会员[A]

    Rank: 7Rank: 7Rank: 7

    积分
    998

    发表于 2019-1-21 22:14:34 | 显示全部楼层
    支持一下:lol
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    3

    主题

    3521

    帖子

    -6

    积分

    终身会员[A]

    Rank: 7Rank: 7Rank: 7

    积分
    -6

    发表于 2019-1-24 15:17:42 | 显示全部楼层
    珍惜生命,果断回帖。
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    29

    主题

    8020

    帖子

    1015

    积分

    终身会员[A]

    Rank: 7Rank: 7Rank: 7

    积分
    1015

    发表于 2019-1-31 10:22:29 | 显示全部楼层
    找到好贴不容易,我顶你了,谢了
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    26

    主题

    7721

    帖子

    1171

    积分

    终身会员[A]

    Rank: 7Rank: 7Rank: 7

    积分
    1171

    发表于 2019-2-1 08:37:37 | 显示全部楼层
    学习了,不错,讲的太有道理了
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    30

    主题

    7851

    帖子

    1002

    积分

    终身会员[A]

    Rank: 7Rank: 7Rank: 7

    积分
    1002

    发表于 2019-2-12 16:26:50 | 显示全部楼层
    珍惜生命,果断回帖。
    回复 支持 反对

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    QQ|Archiver|小黑屋|本站代理|dmz社区

    GMT+8, 2024-12-24 00:08 , Processed in 0.429613 second(s), 40 queries .

    Powered by Discuz! X3.4 Licensed

    Copyright © 2001-2021, Tencent Cloud.

    快速回复 返回顶部 返回列表