排序直接插入排序及其源代码

插入排序  时间:2021-01-30  阅读:()

直接插入排序及其源代码

作法

直接插入排序(straight in sertio n sort) 的作法是

每次从无序表中取出第一个元素把它插入到有序表的合适位置使有序表仍然有序。

第一趟比较前两个数 然后把第二个数按大小插入到有序表中 第二趟把第三个数据与前两个数从后向前扫描把第三个数按大小插入到有序表中依次进行下去 进行了(n-1)趟扫描以后就完成了整个排序过程。

直接插入排序属于稳定的排序时间复杂性为 o(nA2)空间复杂度为 0(1)。

直接插入排序是由两层嵌套循环组成的。外层循环标识并决定待比较的数值。 内

层循环为待比较数值确定其最终位置。 直接插入排序是将待比较的数值与它的前一个数值进行比较所以外层循环是从第二个数值开始的。当前一数值比待比较数值大的情况下继续循环比较直到找到比待比较数值小的并将待比较数值置入其后一位置 结束该次循环。

值得注意的是我们必需用一个存储空间来保存当前待比较的数值 因为当一趟

比较完成时我们要将待比较数值置入比它小的数值的后一位 插入排序类似玩牌时整理手中纸牌的过程。插入排序的基本方法是每步将一个待排序的记录按其关键字的大小插到前面已经排序的序列中的适当位置直到全部记录插入完毕为止。

源代码

#in clude<iostream>using n amespace std;

#defi ne MAXSIZE 20typedef int keyType;typedef struct {keyType key; string otherinfo;

}RedType;typedef struct{

RedType r[MAXSIZE+1]; int len gth;

}S qList;int In sertSort(SqList&L)

{for(i nt i=2;i<=L.len gth;i++)

{if(L.r[i].key<L.r[i-1].ke y)

L.r[0]=L.r[i];

L.r[i]=L.r[i-1];for(int j=i-2;L.r[0].key<L.r[j].key;j--)

{

L.r[j+1]=L.r[j];

}

L.r[j+1]=L.r[0];

}

}return 1;

}int main()

{

SqList L;c o ut<<"插入排序 "<<endl;cout<<"请输入排序元素的个数";int num;cin>>num;

L.l engt h=num;c o ut<<"请输入各个元素 以空格隔开 "<<end l;for(int i=1;i<=L.length;i++)

{c in>>L.r[i].key;

}cout<<"您输入的元素为 ";fo r(i=1;i<=L.len gth;i++)c o ut<<L.r[i].ke y<<"";int test=InsertSort(L);if(tes t==1)

{c o ut<<end l;c o ut<<"插入排序的结果为 "<<end l;fo r(int j=1;j<=L.le ngth;j++)

{c o ut<<L.r[j].ke y<<"";

}

}els e

{cout<<"排序失败 ";

}return 0;

Boomer.Host(年付3.5美)休斯敦便宜VPS

Boomer.Host是一家比较新的国外主机商,虽然LEB自述 we’re now more than 2 year old,商家提供虚拟主机和VPS,其中VPS主机基于OpenVZ架构,数据中心为美国得克萨斯州休斯敦。目前,商家在LET发了两款特别促销套餐,年付最低3.5美元起,特别提醒:低价低配,且必须年付,请务必自行斟酌确定需求再入手。下面列出几款促销套餐的配置信息。CPU:1core内存:...

萤光云(13.25元)香港CN2 新购首月6.5折

萤光云怎么样?萤光云是一家国人云厂商,总部位于福建福州。其成立于2002年,主打高防云服务器产品,主要提供福州、北京、上海BGP和香港CN2节点。萤光云的高防云服务器自带50G防御,适合高防建站、游戏高防等业务。目前萤光云推出北京云服务器优惠活动,机房为北京BGP机房,购买北京云服务器可享受6.5折优惠+51元代金券(折扣和代金券可叠加使用)。活动期间还支持申请免费试用,需提交工单开通免费试用体验...

Gcorelabs:美国GPU服务器,8路RTX2080Ti;2*Silver-4214/256G内存/1T SSD,1815欧/月

gcorelabs怎么样?gcorelabs是创建于2011年的俄罗斯一家IDC服务商,Gcorelabs提供优质的托管服务和VPS主机服务,Gcorelabs有一支强大的技术队伍,对主机的性能和稳定性要求非常高。Gcorelabs在 2017年收购了SkyparkCDN并提供全球CDN服务,目标是进入全球前五的网络服务商。G-Core Labs总部位于卢森堡,在莫斯科,明斯克和彼尔姆设有办事处。...

插入排序为你推荐
软银收购wework软银联合 GungHo 注资控股芬兰游戏公司 Supercell意味着甚么?月付百万的女人们满身香水味的女人和满身油烟味的女人,那种才男人们最想要的的女人?集成显卡和独立显卡哪个好集成显卡和独立显卡什么区别?浏览器哪个好用哪款浏览器好用朗逸和速腾哪个好大众速腾和朗逸哪个好啊?三国游戏哪个好玩三国游戏 什么最好玩?ps软件哪个好什么PS软件好红茶和绿茶哪个好红茶和绿茶哪个更好?qq空间登录电脑手机上怎么登陆电脑版QQ空间YunOSYunOS怎么样,有用过的吗?
深圳主机租用 域名备案号查询 已经备案域名 国内加速器 共享主机 广州服务器 hktv 美国独立日 空间登陆首页 smtp虚拟服务器 数据库空间 广州虚拟主机 阿里云邮箱登陆 空间服务器 江苏徐州移动 789电视剧网 双十二促销 石家庄服务器 shuangcheng 百度新闻源申请 更多