#include <bits/stdc++.h>
using namespace std;
struct Node {
int data;
Node* prev;
Node* next;
};
int main() {
Node* head = new Node{10, NULL, NULL};
head->next = new Node{20, head, NULL};
head->next->next = new Node{30, head->next, NULL};
// Delete first node
if(head != NULL) {
Node* temp = head;
head = head->next;
if(head != NULL){
head->prev = NULL;
delete temp;
}
}
// Print using WHILE loop
Node* t = head;
while(t != NULL) {
cout << t->data << " ";
t = t->next;
}
return 0;
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CgpzdHJ1Y3QgTm9kZSB7CiAgICBpbnQgZGF0YTsKICAgIE5vZGUqIHByZXY7CiAgICBOb2RlKiBuZXh0Owp9OwoKaW50IG1haW4oKSB7CiAgICBOb2RlKiBoZWFkID0gbmV3IE5vZGV7MTAsIE5VTEwsIE5VTEx9OwogICAgaGVhZC0+bmV4dCA9IG5ldyBOb2RlezIwLCBoZWFkLCBOVUxMfTsKICAgIGhlYWQtPm5leHQtPm5leHQgPSBuZXcgTm9kZXszMCwgaGVhZC0+bmV4dCwgTlVMTH07CgogICAgLy8gRGVsZXRlIGZpcnN0IG5vZGUKICAgIGlmKGhlYWQgIT0gTlVMTCkgewogICAgICAgIE5vZGUqIHRlbXAgPSBoZWFkOwogICAgICAgIGhlYWQgPSBoZWFkLT5uZXh0OwogICAgICAgIGlmKGhlYWQgIT0gTlVMTCl7CiAgICAgICAgICAgIGhlYWQtPnByZXYgPSBOVUxMOwogICAgICAgIGRlbGV0ZSB0ZW1wOwogICAgICAgIH0KICAgIH0KCiAgICAvLyBQcmludCB1c2luZyBXSElMRSBsb29wCiAgICBOb2RlKiB0ID0gaGVhZDsKICAgIHdoaWxlKHQgIT0gTlVMTCkgewogICAgICAgIGNvdXQgPDwgdC0+ZGF0YSA8PCAiICI7CiAgICAgICAgdCA9IHQtPm5leHQ7CiAgICB9CnJldHVybiAwOwp9