Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include<bits/stdc++.h>
- using namespace std;
- struct Node
- {
- int data;
- struct Node *next = NULL;
- };
- class linked_list
- {
- private:
- Node *head, *tail;
- public:
- linked_list()
- {
- head = NULL;
- tail = NULL;
- }
- void add_node(int n)
- {
- Node *tmp = new Node;
- tmp -> data = n;
- tmp -> next = NULL;
- if(head == NULL)
- {
- head = tmp;
- tail = tmp;
- }
- else
- {
- tail -> next = tmp;
- tail = tail -> next;
- }
- }
- void traverse()
- {
- Node *tmp = head;
- while(tmp != NULL)
- {
- if(tmp == tail) cout << tmp -> data;
- else cout << tmp -> data << " -> ";
- tmp = tmp -> next;
- }
- }
- void deletion(int n)
- {
- Node *tmp = head, *prev = head;
- while(tmp != NULL)
- {
- if(tmp -> data == n)
- {
- if(tmp == head) head = head -> next;
- else if(tmp == tail) tail = prev;
- prev -> next = tmp -> next;
- return;
- }
- prev = tmp;
- tmp = tmp -> next;
- }
- cout << "Element not found" << endl;
- }
- };
- int main()
- {
- linked_list ll;
- ll.add_node(5);
- ll.add_node(7);
- ll.add_node(8);
- ll.deletion(8);
- ll.add_node(6);
- ll.deletion(5);
- ll.deletion(6);
- ll.deletion(7);
- ll.add_node(10);
- ll.traverse();
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement