Advertisement
Guest User

Untitled

a guest
Jun 24th, 2016
58
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.22 KB | None | 0 0
  1. #include<iostream>
  2.  
  3. using namespace std;
  4.  
  5. struct Node{
  6. int data;
  7. Node* next;
  8. };
  9.  
  10. Node* head;
  11.  
  12. void print();
  13. void insert(int x, int pos);
  14. void deleteNode(int pos);
  15. void insertAtEnd(int x);
  16. void reverseList();
  17.  
  18. int main(){
  19. head = NULL;
  20. insert(2,1); //2
  21. insert(3,2); //2 3
  22. insert(6,1); //6 2 3
  23. insert(0,2); //6 0 2 3
  24. //print();
  25. insertAtEnd(7); // 6 0 2 3 7
  26. //print();
  27. insertAtEnd(9); // 6 0 2 3 7 9
  28. //print();
  29. insert(5,2); //6 5 2 3 7 9
  30. //print();
  31. reverseList();
  32. print();
  33. return 0;
  34. }
  35.  
  36. void insert(int x, int pos){
  37. Node* temp = head;
  38. Node* n = new Node();
  39. n->data = x;
  40. if(pos == 1){
  41. n->next = head;
  42. head = n;
  43. return;
  44. }
  45.  
  46. for(int i =1;i<=pos-2;i++){
  47. temp=temp->next;
  48. }
  49.  
  50. n->next = temp->next;
  51. temp->next = n;
  52.  
  53. }
  54.  
  55. void print(){
  56. Node* temp = head;
  57.  
  58. while(temp!=NULL){
  59. cout << temp->data << " " ;
  60. temp = temp->next;
  61. }
  62. cout<<endl;
  63. }
  64.  
  65. void insertAtEnd(int x){
  66. Node* temp = new Node();
  67. temp->data = x;
  68. temp->next = NULL;
  69.  
  70. Node* ptr = head;
  71. while(ptr->next!=NULL){
  72. ptr = ptr->next;
  73. }
  74. ptr->next = temp;
  75. }
  76.  
  77. void reverseList(){
  78.  
  79. Node* current = head;
  80. Node* prev = NULL;
  81. Node* next;
  82.  
  83. while(current!=NULL){
  84. next = current->next;
  85. current->next = prev;
  86. prev = current;
  87. current = next;
  88. }
  89. head = prev;
  90. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement