Advertisement
Guest User

Untitled

a guest
Dec 14th, 2018
204
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.85 KB | None | 0 0
  1. #include<iostream>
  2. using namespace std;
  3.  
  4. struct node
  5. {
  6. int data;
  7. node *next;
  8. };
  9.  
  10. class LinkedList
  11. {
  12. node *head;
  13. node *tail;
  14. public:
  15. LinkedList()
  16. {
  17. head = NULL;
  18. tail = NULL;
  19. }
  20.  
  21. void display()
  22. {
  23. node *temp = new node;
  24. temp = head;
  25. while (temp != NULL)
  26. {
  27. cout << temp->data << "\t";
  28. temp = temp->next;
  29. }
  30. }
  31.  
  32. void insert_start(int value)
  33. {
  34. node *temp = new node;
  35. temp->data = value;
  36. temp->next = head;
  37. head = temp;
  38. }
  39.  
  40. void insert_end(int value)
  41. {
  42. node *temp = new node;
  43. temp->data = value;
  44. temp->next = NULL;
  45. if (head == NULL)
  46. {
  47. head = temp;
  48. tail = temp;
  49. //temp = NULL;
  50. }
  51. else
  52. {
  53. tail->next = temp;
  54. tail = temp;
  55. }
  56. }
  57.  
  58. void insert_at(int index, int value)
  59. {
  60. node *temp = new node;
  61. node *previous = new node;
  62. node *after = new node;
  63. temp->data = value;
  64. after = head;
  65. for (int i = 1; i < index; i++)
  66. {
  67. previous = after;
  68. after = after->next;
  69. }
  70. previous->next = temp;
  71. temp->next = after;
  72. }
  73.  
  74. //Delete
  75. void del_start()
  76. {
  77. head=head->next;
  78. node *temp = new node;
  79. temp = head;
  80. delete temp;
  81. }
  82.  
  83. void del_end()
  84. {
  85. node *previous = new node;
  86. node *after = new node;
  87. after = head;
  88. while (after->next!=NULL)
  89. {
  90. previous = after;
  91. after = after->next;
  92. }
  93. tail = previous;
  94. previous->next = NULL;
  95. delete after;
  96. }
  97.  
  98. void del_at(int index)
  99. {
  100. node *current = new node;
  101. node *previous = new node;
  102. node *after = new node;
  103. current = head;
  104. for (int i = 1; i < index; i++)
  105. {
  106. previous = current;
  107. current = current->next;
  108. after = current->next;
  109. }
  110. previous->next = after;
  111. delete current;
  112. }
  113.  
  114. };
  115.  
  116. void main()
  117. {
  118. LinkedList object;
  119. object.insert_end(1);
  120. object.insert_end(2);
  121. object.insert_end(3);
  122. object.del_at(3);
  123. object.display();
  124. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement