#include #include struct node { int data; struct node* next; }; struct node* head = NULL; struct node* current = head; // insert link at the first location // void insert(int data) { // create a link // struct node *link = (struct node*) malloc(sizeof(struct node)); if (link == (struct node*)NULL) { fprintf(stdout, "**> Error: memory allocation failed\n"); exit(-1); } // 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; }