//print in the given order as first the value is printed and then a call is made to the next node void Display(struct Node *p){ if (p!= NULL){ printf("%d", p->data); //first print Display(p->next); //call next } } //print in reverse order as first the call is made and then the values are printed void Display(struct Node *p){ if (p!= NULL){ Display(p->next); //call next printf("%d", p->data); //then print } }