//在顺序表中插入一个数,插完仍有序
//这个表是边插入边排序,失败的时候加了红色
#include"stdio.h"
#include"stdlib.h"//颜色
#define maxsize 100
typedef struct
{
int datas[maxsize];
int last;
}QWE;
///
void shuchu(QWE *a)
{
int i;
printf("为\n");
for(i=1;i<=a->last;i++)
printf("%d\t",a->datas[i]);
printf("\n");
}
///
void yunxing(QWE *a,int n)
{
int i;
for(i=a->last;n<a->datas[i];i--)
{
a->datas[i+1]=a->datas[i];
}
a->datas[i+1]=n;
a->last++;
}
/
int shuru(QWE *a,int n)
{
int i,x;
if(n>=1)
{
a->last=0; //顺序表初始化,使指针指在开头
for(i=1;i<=n;i++)
{
printf("请输入第%d个数:",i);
scanf("%d",&x);
yunxing(a,x);
shuchu(a);
}
return 1;
}
else
return 0;
}
int main()
{
int n;
QWE a;
printf("请输入你想构造的顺序表的长度\n");
scanf("%d",&n);
printf("构造了一个长度为%d的顺序表\n",n);
if(shuru(&a,n)==1)
{
printf("此表的长度为:%d\n",n);
shuchu(&a);
}
else
{
printf("构造失败\n");
system("color 4");
}
return 0;
}
创建成功:
创建失败: