Advertisement
Guest User

Untitled

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