#include #include struct node { int data; struct node* next; }; struct node* head = NULL; struct node* current = NULL; // insert link at the first location // void insert(int data) { //create a link // struct node *link = (struct node*) malloc(sizeof(struct node)); // struct node *link = new struct node; // link->key = key; // link->data = data; //point it to old first node // link->next = head; // point first to new first node // head = link; } // display the list // void printList() { struct node *ptr = head; printf("\n[head] =>"); //start from the beginning while(ptr != NULL) { printf(" %d =>", ptr->data); ptr = ptr->next; } printf(" [null]\n"); } int main() { fprintf(stdout, "initial:\n"); printList(); insert(10); fprintf(stdout, "after first insertion:\n"); printList(); insert(20); fprintf(stdout, "after second insertion:\n"); printList(); insert(30); insert(1); insert(40); insert(56); printList(); return 0; }