数据结构中关于顺序表插入元素的问题

#include
#include
#define TRUE 1
#define FALSE 0
#define OVERFLOW -2
#define OK 1
#define ERROR 0
typedef int Status;
#define LIST_INIT_SIZE 100
#define LIST_INCREMENT 10
typedef int ElemType;
typedef struct {
ElemType *elem;
int length;
int listsize; } SqList;
Status InitList(SqList *L) {
L->elem = (ElemType *)malloc(LIST_INIT_SIZE*sizeof(ElemType));
if (!L->elem) return OVERFLOW;
L->length=0;
L->listsize=LIST_INIT_SIZE; return OK; }
void DestroyList(SqList *L) {
free(L->elem);
L->elem=NULL; L->length=0; L->listsize=0; }
Status ListInsert(SqList *L,int i,ElemType e) {
ElemType *newbase, *q, *p;
if(i<1||i>L->length+1) return ERROR;
if(L->length>=L->listsize){ if(!(newbase=(int*)realloc(L->elem,(L->listsize+LIST_INCREMENT)*sizeof(int)))) return OVERFLOW;
L->elem=newbase;
L->listsize+=LIST_INCREMENT; }
for(int j=L->length-1; j>=i-1; j--) L->elem[j+1]=L->elem[j]; L->elem[i-1]=e;
L->length++;
return OK; }
void print(SqList *L) {
ElemType e;
for(int i=1; i<=l->length; i++) {
printf("%5d", L->elem[i-1]); } printf("\n"); }
void main(void) {
SqList q; //声明顺序表变量
SqList *L; //声明指向顺序表的指针变量
L=&q; //表长度初值为0
InitList(L);

****以下由学生给出实际代码****
在位置1插入整数10
//在位置2插入整数20 //
在位置3插入整数30
//在位置4插入整数40 //
****以上由学生给出实际代码****
print(L); DestoryList(L); }
本人基础太差,那个大神帮我补充完吧

第1个回答  2013-11-14
ListInsert(L,1,10);
ListInsert(L,2,20);
ListInsert(L,3,30);
ListInsert(L,4,40);
第2个回答  2015-10-10
int a;
int j =1;
for(j;j<5;j++)
{
scanf("%d",&a);
ListInsert(L,j,a);
}本回答被网友采纳
相似回答