#include <iostream>
using namespace std;
class List{
private:
typedef struct Node{
int data;
struct Node* next;
}* node;
node head;
int listLength;
public:
List();
List(int data, node nextLink);
void printList();
void push(int data);
void Delete(int d);
int listSize(void);
};
List::List(){
head = NULL;
listLength=0;
}
List::List(int data, node nextLink){
head = new Node;
head->data = data;
head->next = nextLink;
listLength = 1;
}
void List::push(int data){
if(head==NULL){
head = new Node; // added this line
head->data=data;
head->next= NULL;
}else{
node cursor = head;
while(cursor->next != NULL)
cursor = cursor -> next;
node newNode= new Node;
newNode->data=data;
newNode->next=NULL;
cursor->next= newNode;
}
listLength++;
}
void List::printList(){
node cursor=head;
while(cursor!=NULL){
//if(cursor->data==0){cursor=cursor->next;}
if(cursor->next==NULL){
cout<<cursor->data<<endl;
return;
}
else{
cout<<cursor->data<<" -> ";
cursor=cursor->next;
}
}
cout<<endl;
}
int main(){
List li;
li.push(2);
li.push(3);
li.push(0);
li.push(4);
li.printList();
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKY2xhc3MgTGlzdHsKICAgIHByaXZhdGU6CiAgICAgICAgdHlwZWRlZiBzdHJ1Y3QgTm9kZXsKICAgICAgICAgICAgaW50IGRhdGE7CiAgICAgICAgICAgIHN0cnVjdCBOb2RlKiBuZXh0OwogICAgICAgIH0qIG5vZGU7CgogICAgICAgIG5vZGUgaGVhZDsKICAgICAgICBpbnQgbGlzdExlbmd0aDsKCiAgICBwdWJsaWM6CiAgICAgICAgTGlzdCgpOwogICAgICAgIExpc3QoaW50IGRhdGEsIG5vZGUgbmV4dExpbmspOwogICAgICAgIHZvaWQgcHJpbnRMaXN0KCk7CiAgICAgICAgdm9pZCBwdXNoKGludCBkYXRhKTsKICAgICAgICB2b2lkIERlbGV0ZShpbnQgZCk7CiAgICAgICAgaW50IGxpc3RTaXplKHZvaWQpOwp9OwoKTGlzdDo6TGlzdCgpewogICAgaGVhZCA9IE5VTEw7CiAgICBsaXN0TGVuZ3RoPTA7Cn0KCkxpc3Q6Okxpc3QoaW50IGRhdGEsIG5vZGUgbmV4dExpbmspewogICAgaGVhZCA9IG5ldyBOb2RlOwogICAgaGVhZC0+ZGF0YSA9IGRhdGE7CiAgICBoZWFkLT5uZXh0ID0gbmV4dExpbms7CiAgICBsaXN0TGVuZ3RoID0gMTsKfQoKdm9pZCBMaXN0OjpwdXNoKGludCBkYXRhKXsKICAgIGlmKGhlYWQ9PU5VTEwpewogICAgCWhlYWQgPSBuZXcgTm9kZTsgLy8gYWRkZWQgdGhpcyBsaW5lCiAgICAgICAgaGVhZC0+ZGF0YT1kYXRhOyAKICAgICAgICBoZWFkLT5uZXh0PSBOVUxMOwogICAgfWVsc2V7CiAgICAgICAgbm9kZSBjdXJzb3IgPSBoZWFkOwogICAgICAgIHdoaWxlKGN1cnNvci0+bmV4dCAhPSBOVUxMKQogICAgICAgICAgICBjdXJzb3IgPSBjdXJzb3IgLT4gbmV4dDsKCiAgICAgICAgbm9kZSBuZXdOb2RlPSBuZXcgTm9kZTsKICAgICAgICBuZXdOb2RlLT5kYXRhPWRhdGE7CiAgICAgICAgbmV3Tm9kZS0+bmV4dD1OVUxMOwogICAgICAgIGN1cnNvci0+bmV4dD0gbmV3Tm9kZTsKICAgIH0KICAgIGxpc3RMZW5ndGgrKzsKfQoKdm9pZCBMaXN0OjpwcmludExpc3QoKXsKICAgIG5vZGUgY3Vyc29yPWhlYWQ7CiAgICB3aGlsZShjdXJzb3IhPU5VTEwpewogICAgICAgIC8vaWYoY3Vyc29yLT5kYXRhPT0wKXtjdXJzb3I9Y3Vyc29yLT5uZXh0O30KICAgICAgICBpZihjdXJzb3ItPm5leHQ9PU5VTEwpewogICAgICAgICAgICBjb3V0PDxjdXJzb3ItPmRhdGE8PGVuZGw7CiAgICAgICAgICAgIHJldHVybjsKICAgICAgICB9CiAgICAgICAgZWxzZXsKICAgICAgICAgICAgY291dDw8Y3Vyc29yLT5kYXRhPDwiIC0+ICI7CiAgICAgICAgICAgIGN1cnNvcj1jdXJzb3ItPm5leHQ7CiAgICAgICAgfQoKICAgIH0KICAgIGNvdXQ8PGVuZGw7Cn0KaW50IG1haW4oKXsgCiAgICBMaXN0IGxpOwogICAgbGkucHVzaCgyKTsKICAgIGxpLnB1c2goMyk7CiAgICBsaS5wdXNoKDApOwogICAgbGkucHVzaCg0KTsKICAgIGxpLnByaW50TGlzdCgpOwogICAgcmV0dXJuIDA7Cn0=