直接看代码
里面有注释
#include <stdio.h>
#define MAXSIZE 100
typedef char Elemtype;
typedef struct//顺序线性表存储结构
{
Elemtype elem[MAXSIZE];
int last;
}seqlist;
void insert(seqlist *L,Elemtype x)
{
int k;
int i;
for(i=0;i<=L->last;i++)//找出应插入位置i
{
if(L->elem[i]>=x)
break;
}
if(i>L->last)
L->elem[L->last+1]=x;
for(k=L->last;k>=i;k--)
{
L->elem[k+1]=L->elem[k];//移位
}
L->elem[i]=x;//赋值
L->last++;//指针后退
for(k=0;k<=L->last;k++)//打印线性表
{
printf("%d\n",L->elem[k]);
}
}
main()
{
seqlist *L;
int x;
int i;
int r;
printf("请输入线性表的长度:");//给数组赋值
scanf("%d",&r);
L->last = r-1;
for(i=0; i<=L->last; i++)
{
printf("输入数组递增元素");
scanf("%d",&L->elem[i]);
}
printf("输入一个插入的数字");
scanf("%d",&x);
insert(L,x);
}
有错误请指正!