fork download
  1. #include<stdio.h>
  2. #include<stdlib.h>
  3. struct list {
  4. int node;
  5. struct list *next;
  6. };
  7.  
  8. void insert(struct list **, int);
  9. void print(struct list *);
  10.  
  11. int main() {
  12. struct list *mylist= NULL;
  13. insert(&mylist, 10);
  14. insert(&mylist, 20);
  15. insert(&mylist, 30);
  16. insert(&mylist, 40);
  17. insert(&mylist, 50);
  18. insert(&mylist, 60);
  19. insert(&mylist, 70);
  20. reverse(&mylist);
  21. printf("hello ");
  22. print(mylist);
  23. return 0;
  24. }
  25.  
  26. void reverse(struct list **temp) {
  27. struct list *pre, *aft, *head;
  28. pre = NULL;
  29. head = *temp;
  30. while(head!= NULL) {
  31. aft =head->next;
  32. head->next = pre;
  33. pre = head;
  34. head = aft;
  35. printf("%d\t",pre->node);
  36. }
  37. *temp = pre;
  38. }
  39.  
  40. void print(struct list *head) {
  41. struct list *temp=head;
  42. if(temp==NULL)
  43. return;
  44. else {
  45. while(temp!=NULL) {
  46. printf("%d\t",temp->node);
  47. temp=temp->next;
  48. }
  49. }
  50. }
  51.  
  52. void insert(struct list **head, int value) {
  53. struct list *new_node,*temp=*head;
  54. new_node = (struct list *)malloc(sizeof(struct list));
  55. //node Creation
  56. new_node->node=value;
  57. new_node->next=NULL;
  58. //Adding Node to list
  59. if(*head==NULL) {
  60. *head=new_node;
  61. } else {
  62. while(temp->next!=NULL) {
  63. temp=temp->next;
  64. }
  65. temp->next=new_node;
  66. }
  67. }
  68.  
Success #stdin #stdout 0s 2424KB
stdin
Standard input is empty
stdout
10	20	30	40	50	60	70	hello  70	60	50	40	30	20	10