C++代码,数据结构-内部排序-插入排序-直接插入排序
2014-03-08 23:30
579 查看
开始内部排序的学习,
直接插入排序还是很简单的
运行结果:
直接插入排序,需要一个记录的辅助空间,主要的操作时比较和移动。时间复杂度为N2;
直接插入排序还是很简单的
#include<iostream> #include<cstdlib> using namespace std; //第十章 内部排序 //待排记录数据的数据结构 #define maxsize 20 struct Sqlist { int r[maxsize]; int length; }; int buildsq(Sqlist &sq){//建立要排序的数组 int x; cin>>x; sq.length=x+1; for(int i=1;i<=x;++i) { cin>>sq.r[i]; } return x; } //插入排序 //直接插入排序 算法10.1 void insertsort(Sqlist &ql){//把第一个元素作为已经排序好的序列从第二个元素开始插入到前面已经排序好的序列。 for(int i=2;i!=ql.length;++i){//从第二个元素开始 if(ql.r[i]<ql.r[i-1]){//如果此元素小于前面一个元素 ql.r[0]=ql.r[i]; // 把该值先记录在0位置上 ql.r[i]=ql.r[i-1];//把前一个元素赋值给该位置。 int j; for( j=i-2;ql.r[0]<ql.r[j];--j){//用此元素与更前面的元素开始比较,插入到第一个比他小的元素后面,并移动在此区间内的元素 ql.r[j+1]=ql.r[j];} ql.r[j+1]=ql.r[0];//插入 } } }
运行结果:
直接插入排序,需要一个记录的辅助空间,主要的操作时比较和移动。时间复杂度为N2;
相关文章推荐
- C++代码,数据结构-内部排序-插入排序-表插入排序
- C++代码,数据结构-内部排序-插入排序-2-路插入排序
- 插入排序——直接插入排序和希尔排序,C++代码实现
- 数据结构 - 直接插入排序(Straight Insertion Sort) 详解 及 代码(C++)
- 数据结构-排序算法之插入排序(直接插入,二分插入,希尔,表插入)
- 数据结构-排序: 插入排序(直接插入排序法)
- java数据结构之插入排序(直接插入排序、折半插入排序、希尔排序)
- 插入排序(直接插入排序法)原理及代码
- C++代码,数据结构-内部排序-选择排序-归并排序
- 数据结构图文解析之:直接插入排序及其优化(二分插入排序)解析及C++实现
- C++数据结构--直接插入排序
- C++代码,数据结构-内部排序-基数排序-链式基数排序
- 数据结构例程——插入排序之直接插入排序
- 数据结构-插入排序-直接插入排序
- C++代码,数据结构-内部排序-插入排序-Shell排序
- 2015年大二上-数据结构-内部排序-(1)-直接插入排序
- 第15周 数据结构例程——插入排序之直接插入排序
- 数据结构-插入排序-直接插入排序
- 数据结构-排序: 插入排序(直接插入排序法)
- 10-1-直接插入排序-内部排序-第10章-《数据结构》课本源码-严蔚敏吴伟民版