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

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

易速互联月付299元,美国独立服务器促销,加州地区,BGP直连线路,10G防御

易速互联怎么样?易速互联是国人老牌主机商家,至今已经成立9年,商家销售虚拟主机、VPS及独立服务器,目前商家针对美国加州萨克拉门托RH数据中心进行促销,线路采用BGP直连线路,自带10G防御,美国加州地区,100M带宽不限流量,月付299元起,有需要美国不限流量独立服务器的朋友可以看看。点击进入:易速互联官方网站美国独立服务器优惠套餐:RH数据中心位于美国加州、配置丰富性价比高、10G DDOS免...

PacificRack - 洛杉矶QN机房 低至年$7.2 同有站群多IP地址VPS主机

需要提前声明的是有网友反馈到,PacificRack 商家是不支持DD安装Windows系统的,他有安装后导致服务器被封的问题。确实有一些服务商是不允许的,我们尽可能的在服务商选择可以直接安装Windows系统套餐,毕竟DD安装的Win系统在使用上实际上也不够体验好。在前面有提到夏季促销的"PacificRack夏季促销PR-M系列和多IP站群VPS主机 年付低至19美元"有提到年付12美元的洛杉...

腾讯云CVM云服务器大硬盘方案400GB和800GB数据盘方案

最近看到群里的不少网友在搭建大数据内容网站,内容量有百万篇幅,包括图片可能有超过50GB,如果一台服务器有需要多个站点的话,那肯定默认的服务器50GB存储空间是不够用的。如果单独在购买数据盘会成本提高不少。这里我们看到腾讯云促销活动中有2款带大数据盘的套餐还是比较实惠的,一台是400GB数据盘,一台是800GB数据盘,适合他们的大数据网站。 直达链接 - 腾讯云 大数据盘套餐服务器这里我们看到当前...

插入排序为你推荐
唐人社美国10次啦7个多月的宝宝大人扶着站立时脚尖着地,我们去体检时大夫说是尖足,要我们做什么按摩400块10次。有必要做2017年双11销售额2018年双十一(11.11)淘宝天猫一天的交易额能突破2500亿吗?手机音乐播放器哪个好手机音乐播放器音质好的APP是那款看书软件哪个好推荐几个好用的手机看书软件扣扣空间登录如何设置QQ空间快速登陆qq空间登录网页版网页版QQ怎么登陆yy空间登录yy空间怎么上传照片?qq空间登录网址如何查询QQ空间登入地址?考生个人空间登录我是2007年入的学2010年毕业我想查询这3年的成绩,怎么办啊?求解答!如何增加百度收录如何快速提高百度收录量
100m网站空间 美国域名注册 博客主机 cdn服务器 56折 wdcp 阿里云官方网站 实惠 阿里云邮箱登陆 可外链的相册 域名和主机 存储服务器 九零网络 web服务器有哪些 美国vpn服务器 阿里云主机 租主机 海康流媒体服务器 如何架设服务器 电脑主机噪音大 更多