#include<stdio.h> typedef struct Linklist{ int data; struct Linklist *next; }Linklist; void insert(Linklist *head,int pos,int data); void delete(Linklist *head,int pos); int main(void){ int N,pos,data; char op[7]; Linklist *head=(Linklist *)malloc(sizeof(Linklist)); head->next=NULL; scanf("%d",&N); for(int i=0;i<N;i++){ scanf("%s",op); if(op[0]=='i'){ scanf("%d%d",&pos,&data); insert(head,pos,data); }else if(op[0]=='d'){ scanf("%d",&pos); delete(head,pos); } } if(head->next==NULL){ printf("NULL\n"); return 0; } for(Linklist *p=head;p->next!=NULL;p=p->next){ if(p!=head) printf(" "); printf("%d",p->next->data); } return 0; } void insert(Linklist *head,int pos,int data){ Linklist *p=head; for(;p->next!=NULL;p=p->next){ if(p->next->data==pos) break; } Linklist *new=(Linklist *)malloc(sizeof(Linklist)); new->next=p->next; new->data=data; p->next=new; } void delete(Linklist *head,int pos){ for(Linklist *p=head;p->next!=NULL;p=p->next){ if(p->next->data==pos){ Linklist *del=p->next; p->next=p->next->next; free(del); break; } } }