#include<stdio.h>
#include<stdlib.h>
struct node{int data;struct node* ptr;};
struct node *front=NULL;
struct node *rear=NULL;
void insert
(int ele
){struct node
* new
= (struct node
*)malloc(sizeof(struct node
)); new->data=ele;new->ptr=NULL;
if(rear==NULL && front==NULL)
{rear=new;front=new;return;}
rear->ptr=new;rear=new;}
int del(){struct Node* new = front;
if(front
==NULL
) {printf("empty");return;} if(front == rear) {front = rear = NULL;}
else{front
= front
->ptr
;free(new
);} }
void disp(){struct node* new = front;
while(new != NULL) {
new = new->ptr;}
}
int main(){insert(1);insert(2);insert(3);disp();del();disp();return 0;}
I2luY2x1ZGU8c3RkaW8uaD4KI2luY2x1ZGU8c3RkbGliLmg+CnN0cnVjdCBub2Rle2ludCBkYXRhO3N0cnVjdCBub2RlKiBwdHI7fTsKc3RydWN0IG5vZGUgKmZyb250PU5VTEw7CnN0cnVjdCBub2RlICpyZWFyPU5VTEw7Cgp2b2lkIGluc2VydChpbnQgZWxlKXtzdHJ1Y3Qgbm9kZSogbmV3ID0gKHN0cnVjdCBub2RlKiltYWxsb2Moc2l6ZW9mKHN0cnVjdCBub2RlKSk7CiAgICBuZXctPmRhdGE9ZWxlO25ldy0+cHRyPU5VTEw7CiAgICBpZihyZWFyPT1OVUxMICYmIGZyb250PT1OVUxMKQogICAgICAgIHtyZWFyPW5ldztmcm9udD1uZXc7cmV0dXJuO30KICAgIHJlYXItPnB0cj1uZXc7cmVhcj1uZXc7fQogICAgCmludCBkZWwoKXtzdHJ1Y3QgTm9kZSogbmV3ID0gZnJvbnQ7CiAgICBpZihmcm9udD09TlVMTCkge3ByaW50ZigiZW1wdHkiKTtyZXR1cm47fQogICAgaWYoZnJvbnQgPT0gcmVhcikge2Zyb250ID0gcmVhciA9IE5VTEw7fQogICAgZWxzZXtmcm9udCA9IGZyb250LT5wdHI7ZnJlZShuZXcpO30KfQp2b2lkIGRpc3AoKXtzdHJ1Y3Qgbm9kZSogbmV3ID0gZnJvbnQ7CiAgICB3aGlsZShuZXcgIT0gTlVMTCkgewogICAgICAgIHByaW50ZigiJWQiLG5ldy0+ZGF0YSk7CiAgICAgICAgbmV3ID0gbmV3LT5wdHI7fQogICAgcHJpbnRmKCJcbiIpOwp9CmludCBtYWluKCl7aW5zZXJ0KDEpO2luc2VydCgyKTtpbnNlcnQoMyk7ZGlzcCgpO2RlbCgpO2Rpc3AoKTtyZXR1cm4gMDt9Cgo=