导航:首页 > 源码编译 > 排序算法之插入类

排序算法之插入类

发布时间:2025-05-15 01:04:26

‘壹’ 插入排序的算法

排序算法在编程领域中起着举足轻重的作用,在目标检索、机器学习、数值计算、图像处理等领域有着广泛地应用。为了追本溯源,公众号特推出常用经典排序算法系列推文,让小伙伴们深入了解排序算法的实现原理,同时也提升matlab编程能力。
插入排序算法,它是将无序序列分成两部分,一部分为假设已经排列完成的序列,另一部分为余下序列,将余下序列中的元素取出插入到已排列完成的序列中,依次比较确定插入位置,下面就一起来看看该算的实现原理吧。
插入排序算法实现过程(以升序排列为例):
对于长度为N的无序数组A,假定序列A(1)为排列完成的序列K,将A(2)与A(1)作比较,如果A(2)<A(1),则两者交换,否则保持不变,即完成序列K的元素添加;将A(3)与A(2)比较,如果A(2)<A(3),则保持不变,否则两者交换,继续将A(3)与A(1)比较,如果A(3)>A(1),则两者交换,否则保持不变;以此类推,将余下序列中的元素取出插入到序列K中,从序列K尾部往首部进行比较,直至完成所有元素的插入。

matlab代码
主程序:main.m

format short;
clc;clear;
A = round(rand(1,8),2);
nA = InsertSort(A);
disp(['原始序列:',num2str(A)]);
disp(['插入排序:',num2str(nA)]);
插入排序函数:InsertSort.m

function A = InsertSort(A)
% 感谢关注:matlab爱好者
% 插入排序算法源代码
% 作者:matlab爱好者

len = length(A);
for w = 1:len-1
% 从余下序列中取出一个元素插入到新序列中
for v = w+1:-1:2
if(A(v)<A(v-1))
% 如果新元素小于所插入位置的元素,则交换
tmp = A(v-1);
A(v-1) = A(v);
A(v) = tmp;
else
% 否则保持位置不变
break;
end
end
end

阅读全文

与排序算法之插入类相关的资料

热点内容
全自动化编程 浏览:725
程序员高薪限制 浏览:692
压缩图片压缩 浏览:75
美国发明解压魔方 浏览:301
电脑怎么备案网上服务器 浏览:514
旅行商问题Python写法 浏览:952
解压破坏王里面的所有兑换码 浏览:860
文件夹如何拖拽还保留原来的 浏览:22
职业生涯pdf 浏览:954
ubuntu安装软件php 浏览:159
黑马程序员退学流程 浏览:362
网页服务器崩溃怎么回事 浏览:651
cnc编程前景怎么样 浏览:320
lniux命令详解 浏览:494
linuxmysql查询日志 浏览:369
老捷达伙伴压缩比 浏览:94
改后缀加密 浏览:433
邮局选址问题算法 浏览:16
河北服务器内存云主机 浏览:13
在电脑上怎么找到加密狗图标 浏览:438