MATLAB怎么进行插入排序,谢谢😔要交作业可是不会写,求助

 我来答
qingningleyun
2016-10-14 · TA获得超过5854个赞
知道大有可为答主
回答量:2991
采纳率:30%
帮助的人:3159万
展开全部

% 插入排序:有一个已经有序的数据序列,要求在这个已经排好的数据序列中插入一个数,

% 但要求插入后此数据序列仍然有序,这个时候就要用到一种新的排序方法--

% 插入排序法,插入排序的基本操作就是将一个数据插入到已经排好序的有序数据中,

% 从而得到一个新的、个数加一的有序数据,算法适用于少量数据的排序,

% 时间复杂度为O(n^2)。是稳定的排序方法。插入算法把要排序的数组分成两部分:

% 第一部分包含了这个数组的所有元素,但将最后一个元素除外(让数组多一个空间

% 才有插入的位置),而第二部分就只包含这一个元素(即待插入元素)。

% 在第一部分排序完成后,再将这个最后元素插入到已排好序的第一部分中。

A = randi(20,1,10)  % 生成一个无序序列
R = A(1);           % 有序序列
for k = 2:length(A)
    f = A(k);
    h = 1;
    while ~isempty(f) && h<=length(R)
        if f<R(h)   % 按升序排序
            R = [R(1:h-1) f R(h:end)];
            f = [];
        end
        h = h+1;
    end
    if ~isempty(f)
        R = [R f];
    end
end
R

A =

     5     8    17     1     1     4    13    15    13    10

R =

     1     1     4     5     8    10    13    13    15    17

追问
谢谢你,
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式