insertion of node in linked list at beginning and at end
#include<stdio.h> #include<stdlib.h> struct node { int data; struct node *next; }; struct node * starting_node(int x, struct node *y) { struct node *newnode; newnode = (struct node *)malloc(sizeof(struct node)); newnode -> data = x; newnode -> next = y; printf("hello %d \n", y->data); y = newnode; return y; } struct node * ending_node(int a, struct node *b) { struct node *node_new; node_new = (struct node *)malloc(sizeof(struct node)); b -> next = node_new; b = node_new; node_new -> data = a; node_new -> next = 0; return b; }; int main() { struct node *head, *new_node, *temp; int choice; head = 0; while(choice) { new_node = (struct node *)malloc(sizeof(struct node)); printf("enter the data"); scanf("%d",&(new_node -> data)); new_node -> next = 0; if(head == 0) { head = temp = new_node; } else { temp -> next = new_node; temp = new_node; } printf("do u want to continue (0,1)"); scanf("%d",&choice); } temp = head; while(temp != 0) { printf("%d\n", temp -> data); temp = temp -> next; } int newdata, end_data; printf("enter the data for the beginning node :"); scanf("%d",&newdata); head = starting_node(newdata, head); printf("enter the data for the end node :"); scanf("%d", &end_data); temp = ending_node(end_data, temp); //Now, At last print the final linked list.... temp = head; while(temp != 0) { printf("%d\n", temp -> data); temp = temp -> next; } return 0; } In the above code output is not coming