#include<stdio.h>
#include<stdlib.h>
#define initsize 100
typedef struct{
int *data;
int length;
int maxsize;
}sqlist;
void createlist(sqlist &L){
L.data=(int *)malloc(sizeof(int)*initsize);
L.length=0;
L.maxsize=initsize;
}
void addlist(sqlist &L,int e){
if(L.length>=L.maxsize){printf("error");return ;}
L.data[L.length]=e;
L.length++;
}
void deletelist(sqlist &L,int e){
int a=0,b=0;
while(b<L.length){
while(L.data[b]==e && b<L.length){b++;}
L.data[a]=L.data[b];
a++;b++;
}
L.length=a+1;
}
int main(){
sqlist L;
createlist(L);
int i;
for(int i=1;i<20;i++){addlist(L,i);printf("%d ",L.data[i-1]);}
for(i=3;i<5;i++){L.data[i]=0;}
for(i=7;i<8;i++){L.data[i]=0;}
for(i=10;i<14;i++){L.data[i]=0;}
printf("\n");
for(int i=1;i<20;i++){printf("%d ",L.data[i-1]);}
printf("\n");
deletelist(L,0);
for(int i=1;i<L.length;i++){printf("%d ",L.data[i-1]);}
return 0;
}