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

插入排序  时间: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;

PhotonVPS:$4/月,KVM-2GB/30GB/2TB/洛杉矶&达拉斯&芝加哥等

很久没有分享PhotonVPS的消息,最近看到商家VPS主机套餐有一些更新所以分享下。这是一家成立于2008年的国外VPS服务商,Psychz机房旗下的站点,主要提供VPS和独立服务器等,数据中心包括美国洛杉矶、达拉斯、芝加哥、阿什本等。目前,商家针对Cloud VPS提供8折优惠码,优惠后最低2G内存套餐每月4美元起。下面列出几款主机配置信息。CPU:1core内存:2GB硬盘:30GB NVm...

IMIDC彩虹数据:日本站群多ip服务器促销;30Mbps带宽直连不限流量,$88/月

imidc怎么样?imidc彩虹数据或彩虹网络现在促销旗下日本多IP站群独立服务器,原价159美元的机器现在只需要88美元,而且给13个独立IPv4,30Mbps直连带宽,不限制月流量!IMIDC又名为彩虹数据,rainbow cloud,香港本土运营商,全线产品都是商家自营的,自有IP网络资源等,提供的产品包括VPS主机、独立服务器、站群独立服务器等,数据中心区域包括香港、日本、台湾、美国和南非...

BuyVM老牌商家新增迈阿密机房 不限流量 月付2美元

我们很多老用户对于BuyVM商家还是相当熟悉的,也有翻看BuyVM相关的文章可以追溯到2014年的时候有介绍过,不过那时候介绍这个商家并不是很多,主要是因为这个商家很是刁钻。比如我们注册账户的信息是否完整,以及我们使用是否规范,甚至有其他各种问题导致我们是不能购买他们家机器的。以前你嚣张是很多人没有办法购买到其他商家的机器,那时候其他商家的机器不多。而如今,我们可选的商家比较多,你再也嚣张不起来。...

插入排序为你推荐
滴滴软银合资哪款车比较适合跑滴滴天玑1000plus和骁龙865哪个好各位觉得联发科最新芯片天机1000靠谱吗?真的能打过麒麟990?集成显卡和独立显卡哪个好集成显卡与独立显卡的区别。传奇类手游哪个好什么传奇类手游好玩不坑钱?电视直播软件哪个好电视直播软件安卓tv版哪个好用加速器哪个好主流加速器哪个好播放器哪个好手机本地视频播放器哪个好用p图软件哪个好有什么P图工具比较好用视频软件哪个好什么看视频的软件好群空间登录群空间怎么进去?
联通vps 2019年感恩节 dns是什么 hostgator 博客主机 国外服务器 mediafire下载工具 好看的桌面背景图片 灵动鬼影 dux asp免费空间申请 idc是什么 免费活动 什么是服务器托管 免费私人服务器 安徽双线服务器 创建邮箱 photobucket 国外免费云空间 七牛云存储 更多