您的位置:首页 > 理论基础 > 数据结构算法

数据结构 插入排序

2017-12-15 10:41 309 查看
#include<iostream>//引入输入输出流
#include<stdlib.h>//使用库函数srand和rand
#include<time.h>//使用库函数time
using namespace std;
const int Max=10;
void Creat(int r[],int n);//定义数组函数
void InsertSort(int r[],int n);
int main()
{
int a[Max+1]={0},b[Max+1]={0};//定义一个可容纳Max+1个元素的整数型数组a和b,并将数组里的所有元素赋值为0
int i=0;
Creat(a,Max);//创建数组
for(i=1;i<=Max;i++)//将数组a复制一份到数组b
b[i]=a[i];
cout<<"对于无序序列:";

for(i=1;i<Max;i++)
cout<<b[i]<<" ";
cout<<endl;
InsertSort(b,Max);//对数组进行排序
cout<<"执行直接插入排序后,元素为:";

for(i=1;i<=Max;i++)//打印数组
cout<<b[i]<<" ";
cout<<endl;
return 0;
}
void Creat(int r[],int n)//引用数组函数
{
int i=0;
srand(time(NULL));
for(i=1;i<=n;i++)
r[i]=1+rand()%100;//待排序记录为二位数
}
void InsertSort(int r[],int n)//0号单元用作暂存单元与监视哨
{int i,j;
for( i=2;i<=n;i++)
{
r[0]=r[i];
for( j=i-1;r[0]<r[j];j--)
r[j+1]=r[j];//记录后移
r[j+1]=r[0];
}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: