#include "stdio.h"
#include "stdlib.h"
#define MAXSIZE 100
typedef int datatype;
typedef struct{
datatype a[MAXSIZE];
int size;
}sequence_list;
void initseqlist(sequence_list *L)
{ L->size=0;
}
void input(sequence_list *L)
{ datatype x;
initseqlist(L);
printf("请输入一组数据,以0做为结束符:\n");
scanf("%d",&x);
while (x)
{ L->a[L->size++]=x;
scanf("%d",&x);
}
}
void print(sequence_list L)
{ int i;
for (i=0;i<L.size;i++)
{ printf("%5d",L.a[i]);
if ((i+1)%10==0) printf("\n");
}
printf("\n");
}
void insertx(sequence_list *L,datatype x)
{
int j;
if(L->size<x){
j=L->size-1;
while(j>=0&&L->a[j]>x){
L->a[j+1]=L->a[j];
j--;
}
L->a[j+1]=x;
L->size++;
}
}
int main()
{
sequence_list L;
datatype x;
input(&L);
print(L);
printf("请输入待插入的元素:");
scanf("%d",&x);
insertx(&L,x);
printf("插入元素%d之后的顺序表为:",x);
print(L);
}
希望的结果是:原顺序表为:
11 22 3 45 55
第一个位置插入95之后的顺序表为:
95 11 22 3 45 55
删除3之后的顺序表为:
95 11 22 45 55
在45后面插入54之后的顺序表为:
95 11 22 45 54 55
朋友们,怎么写才能达到我想要的结果啊