链表【模板】
hexuchen
·
·
算法·理论
struct Node{
int value;
Node *pre,*next;
};
Node *head,*tail,*q,*m[1000010];
void init(){
head=new Node();
tail=new Node();
head->next=tail;
tail->pre=head;
}
void insert(Node *p,int val){
q=new Node();
q->value=val;
p->next->pre=q;
q->next=p->next;
p->next=q;
q->pre=p;
m[val]=q;
}
void remove(Node *p){
p->next->pre=p->pre;
p->pre->next=p->next;
delete p;
}
void print(){
Node *st=head->next;
while(st!=tail){
st=st->next;
cout<<st->pre->value<<' ';
}
cout<<'\n';
}