#include <iostream>
using namespace std;
struct Node {
int data;
Node* next;
} ;
Node* myList = nullptr;
void addToList( int n) {
Node* tmp = myList;
myList = new Node;
myList - > data = n;
myList - > next = tmp;
cout << n << " has been added to the list." << endl;
}
void showList( ) {
cout << "Showing the list: " ;
Node* tmp = myList;
while ( tmp ! = nullptr) {
cout << tmp - > data << ' ' ;
tmp = tmp - > next;
}
cout << endl;
}
void deleteList( ) {
Node* tmp = myList;
while ( tmp ! = nullptr) {
tmp = myList - > next;
delete myList;
myList = tmp;
}
cout << "List has been deleted." << endl;
}
int main( ) {
addToList( 15 ) ;
showList( ) ;
addToList( 16 ) ;
addToList( 17 ) ;
showList( ) ;
deleteList( ) ;
showList( ) ;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgoKdXNpbmcgbmFtZXNwYWNlIHN0ZDsKCnN0cnVjdCBOb2RlIHsKICAgIGludCBkYXRhOwogICAgTm9kZSogbmV4dDsKfTsKCk5vZGUqIG15TGlzdCA9IG51bGxwdHI7Cgp2b2lkIGFkZFRvTGlzdChpbnQgbikgewogICAgTm9kZSogdG1wID0gbXlMaXN0OwogICAgbXlMaXN0ID0gbmV3IE5vZGU7CiAgICBteUxpc3QgLT4gZGF0YSA9IG47CiAgICBteUxpc3QgLT4gbmV4dCA9IHRtcDsKCiAgICBjb3V0IDw8IG4gPDwgIiBoYXMgYmVlbiBhZGRlZCB0byB0aGUgbGlzdC4iIDw8IGVuZGw7Cn0KCnZvaWQgc2hvd0xpc3QoKSB7CiAgICBjb3V0IDw8ICJTaG93aW5nIHRoZSBsaXN0OiAiOwogICAgTm9kZSogdG1wID0gbXlMaXN0OwogICAgd2hpbGUgKHRtcCAhPSBudWxscHRyKSB7CiAgICAgICAgY291dCA8PCB0bXAgLT4gZGF0YSA8PCAnICc7CiAgICAgICAgdG1wID0gdG1wIC0+IG5leHQ7CiAgICB9CiAgICBjb3V0IDw8IGVuZGw7Cn0KCnZvaWQgZGVsZXRlTGlzdCgpIHsKICAgIE5vZGUqIHRtcCA9IG15TGlzdDsKICAgIHdoaWxlICh0bXAgIT0gbnVsbHB0cikgewogICAgICAgIHRtcCA9IG15TGlzdCAtPiBuZXh0OwogICAgICAgIGRlbGV0ZSBteUxpc3Q7CiAgICAgICAgbXlMaXN0ID0gdG1wOwogICAgfQogICAgY291dCA8PCAiTGlzdCBoYXMgYmVlbiBkZWxldGVkLiIgPDwgZW5kbDsKfQoKaW50IG1haW4oKSB7CiAgICBhZGRUb0xpc3QoMTUpOwogICAgc2hvd0xpc3QoKTsKCiAgICBhZGRUb0xpc3QoMTYpOwogICAgYWRkVG9MaXN0KDE3KTsKICAgIHNob3dMaXN0KCk7CgogICAgZGVsZXRlTGlzdCgpOwogICAgc2hvd0xpc3QoKTsKfQo=