数组排序问题的两种方法:插入排序算法和递归(分治)算法

本文介绍了数组排序的两种方法,分别是插入排序和归并排序。插入排序通过迭代将元素插入已排序部分,而归并排序应用分治策略,将数组分割、排序后再合并。文章提供了伪代码并展示了实验结果。
摘要由CSDN通过智能技术生成

            在这里我将讨论数组的排序问题,并引入插入排序算法和递归算法求解。

1、插入排序

             这里通过算法导论中的伪代码说明算法过程。

        Insertion-sort(A)

        for(j=2 to A.length)

                  key=A[j]

                  //Insert A[j] into sorted sequence A[1..j-1]

                  i=j-1

                  while(i>0 and A[i]>key)

                           A[i+1]=A[i]

                           i=i-1

                  A[i+1]=key

         //over

         算法说明:

          1)j=2,从数组的第二个元素开始迭代即当前手中的牌只有一张,桌面有A.length-1张牌;

          2)假设j为当前插入的牌。若当前牌A[j]大于手中最大的牌A[i](因为排序好了),则将其插入(最大牌)前面;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值