#include <stdio.h> #include <malloc.h> #include <stdlib.h> #define Maxsize 100 typedef int Datatype; typedef struct{ Datatype data[Maxsize]; int length; }Sqlist; Sqlist *Create_List(Sqlist *p){ int i; p=(Sqlist *)malloc(sizeof(Sqlist)); printf("顺序表的个数:"); scanf("%d",&p->length); if(p->length>Maxsize){ printf("长度太大"); return 0; } else{ for(i=0;i<p->length;i++){ scanf("%d",&p->data[i]); } return p; } } void Insert_List(Sqlist *p,int i,int n){ int j; if(i<1||i>p->length) printf("输入位置有误"); else{ for(j=p->length;j>i;j++) p->data[j]=p->data[j-1]; p->data[i]=n; p->length++;printf("%d\n",p->length); } } void Print_List(Sqlist *p){ int i; if(p==0) printf("空表"); else{ for(i=0;i<p->length+1;i++) printf("%5d",p->data[i]); } printf("\n"); } void main(){ int a,i,n; Sqlist *l; l=Create_List(l); printf("输入插入位置和元素:"); scanf("%d%d",&i,&n); Insert_List(l,i,n); Print_List(l); }