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

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

hostkey荷兰/俄罗斯机房,GPU服务器

hostkey应该不用说大家都是比较熟悉的荷兰服务器品牌商家,主打荷兰、俄罗斯机房的独立服务器,包括常规服务器、AMD和Intel I9高频服务器、GPU服务器、高防服务器;当然,美国服务器也有,在纽约机房!官方网站:https://hostkey.com/gpu-dedicated-servers/比特币、信用卡、PayPal、支付宝、webmoney都可以付款!CPU类型AMD Ryzen9 ...

湖北22元/月(昔日数据)云服务器,国内湖北十堰云服务器,首月6折

昔日数据怎么样?昔日数据新上了湖北十堰云服务器,湖北十堰市IDC数据中心 母鸡采用e5 2651v2 SSD MLC企业硬盘 rdid5阵列为数据护航 100G高防 超出防御峰值空路由2小时 不限制流量。目前,国内湖北十堰云服务器,首月6折火热销售限量30台价格低至22元/月。(注意:之前有个xrhost.cn也叫昔日数据,已经打不开了,一看网站LOGO和名称为同一家,有一定风险,所以尽量不要选择...

腾讯云爆款秒杀:1C2G5M服务器38元/年,CDN流量包6元起

农历春节将至,腾讯云开启了热门爆款云产品首单特惠秒杀活动,上海/北京/广州1核2G云服务器首年仅38元起,上架了新的首单优惠活动,每天三场秒杀,长期有效,其中轻量应用服务器2G内存5M带宽仅需年费38元起,其他产品比如CDN流量包、短信包、MySQL、直播流量包、标准存储等等产品也参与活动,腾讯云官网已注册且完成实名认证的国内站用户均可参与。活动页面:https://cloud.tencent.c...

插入排序为你推荐
等额本息等额本金哪个好等额本金和等额本息的区别哪个好手机炒股软件哪个好手机炒股哪个软件好 要免费的海克斯皮肤哪个好诺手二周年皮肤好不好,和海克斯那个比哪个好,二周年属于稀有吗dns服务器设置怎么修改dns服务器360云盘同步版360云盘 单向同步 与 双向同步 的区别?月抛隐形眼镜隐形眼镜(月抛)、过了一个月还能再用吗?月抛隐形眼镜月抛隐形眼镜大概多少钱强生月抛第一次戴隐形眼镜月抛的好不好?强生月抛的怎样啊广东联通彩铃广东联通炫铃 怎么定制彩铃便宜的儿童手机本人打算给孩子买块手机,请问什么牌子的儿童手机好。
重庆服务器租用 最新代理服务器ip sugarhosts 香港ufo 秒解服务器 sugarsync 华为云主机 美国在线代理服务器 网通服务器托管 Updog 稳定空间 江苏徐州移动 阿里云个人邮箱 nnt hosting24 phpinfo 标准机柜 cpu使用率过高怎么办 vi命令 crontab 更多