#include<iostream>
#include<stdlib.h>
using namespace std;
#define INITSIZE 100
#define INCEREMENT 10
#define overflow 0
#define OK 1
typedef int Elemtype;
typedef struct{
Elemtype *elem;//动态数组基址
int len;//当前长度
int listsize;//总共分配的存储容量
}Sqlist;
Sqlist la,lb;
void Initlist(Sqlist &L);
void Appendelem(Sqlist &L);
void Insertelem(Sqlist &L);
void Deletlist(Sqlist &L);
void Outelem(Sqlist &L);
void main(){
Sqlist s;
Initlist(s);
Appendelem(s);
Insertelem(s);
Deletlist(s);
Outelem(s);
}
//顺序表初始化
void Initlist(Sqlist &L){
L.elem = (Elemtype *)malloc(INITSIZE*sizeof(Elemtype));
if(!L.elem)
exit(overflow);
L.listsize = INITSIZE;
}
//在表的尾部追加一个新成员
void Appendelem(Sqlist &L){
Elemtype e;
if(L.len >= L.listsize)
exit(overflow);
L.elem[L.len] = e;
L.len++;
}
//插入新成员
void Insertelem(Sqlist &L){
int i;
Elemtype e;
//int j,k;
Elemtype *newaddress,*p,*q;
if(L.len >= L.listsize){
//如果所分配空间已经占满
newaddress = (Elemtype *)malloc((INITSIZE+INCEREMENT)*sizeof(Elemtype));
if(!newaddress)
exit(overflow);
L.elem = newaddress;
L.listsize += INCEREMENT;
}
q = &(L.elem[i]);
for(p = &(L.elem[L.len-1]);p >= q;p--)
*(p+1) = *p;
*q = e;
L.len++;
}
//删除成员
void Deletlist(Sqlist &L){
int i;
int &e;
Elemtype *p,*q;
if(i < 0|| i > L.len-1)
exit(overflow);
q = &(L.elem[i]);
e = *q;
p = L.elem+L.len-1;
for(q++;q <= p;q++)
*(q-1) = *q;
L.len--;
}
//输出成员
void Outelem(Sqlist &L){
int i;
for(i = 0;i <= L.len;i++)
cout << L.elem[i] << endl;
}
请问这个代码哪里错了啊
应该怎么改啊
谢谢了