al__nasim

DS LAB FINAL PROBLEM 2

Aug 8th, 2016
121
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.10 KB | None | 0 0
  1. #include<bits/stdc++.h>
  2. using namespace std;
  3.  
  4. struct node
  5. {
  6. int data;
  7. node* next;
  8. };
  9.  
  10. void Insert(node* header, int value)
  11. {
  12. node* new_node = (node*)malloc(sizeof(node));
  13. new_node->next = NULL;
  14. node* temp = header;
  15. while(temp->next != NULL)
  16. temp = temp->next;
  17. new_node->data = value;
  18. temp->next = new_node;
  19. }
  20. void print(node* header)
  21. {
  22. node* p;
  23. p = header->next;
  24. while(p != NULL)
  25. {
  26. cout<<p->data<<" ";
  27. p = p->next;
  28. }
  29. cout<<endl;
  30. }
  31.  
  32. void reverse(node* header){
  33. if(header->next == NULL){
  34. return;
  35. }
  36. reverse(header->next);
  37. node* temp;
  38. temp = header->next;
  39. header->next = header;
  40. header = temp;
  41.  
  42. while(header == NULL)
  43. header = header->next;
  44.  
  45. cout<<header->data<<" ";
  46.  
  47. }
  48.  
  49. int main()
  50. {
  51. node* header = (node*)malloc(sizeof(node));
  52. header->next = NULL;
  53. cout<<"The list is: ";
  54. for(int i=0; i<10; i++)
  55. Insert(header, i);
  56. print(header);
  57.  
  58.  
  59. cout<<"After reverse the list: ";
  60. reverse(header);
  61. return 0;
  62. }
Advertisement
Add Comment
Please, Sign In to add comment