Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include<iostream>
- using namespace std;
- struct node
- {
- int data;
- node *next;
- };
- class LinkedList
- {
- node *head;
- node *tail;
- public:
- LinkedList()
- {
- head = NULL;
- tail = NULL;
- }
- void display()
- {
- node *temp = new node;
- temp = head;
- while (temp != NULL)
- {
- cout << temp->data << "\t";
- temp = temp->next;
- }
- }
- void insert_start(int value)
- {
- node *temp = new node;
- temp->data = value;
- temp->next = head;
- head = temp;
- }
- void insert_end(int value)
- {
- node *temp = new node;
- temp->data = value;
- temp->next = NULL;
- if (head == NULL)
- {
- head = temp;
- tail = temp;
- //temp = NULL;
- }
- else
- {
- tail->next = temp;
- tail = temp;
- }
- }
- void insert_at(int index, int value)
- {
- node *temp = new node;
- node *previous = new node;
- node *after = new node;
- temp->data = value;
- after = head;
- for (int i = 1; i < index; i++)
- {
- previous = after;
- after = after->next;
- }
- previous->next = temp;
- temp->next = after;
- }
- //Delete
- void del_start()
- {
- head=head->next;
- node *temp = new node;
- temp = head;
- delete temp;
- }
- void del_end()
- {
- node *previous = new node;
- node *after = new node;
- after = head;
- while (after->next!=NULL)
- {
- previous = after;
- after = after->next;
- }
- tail = previous;
- previous->next = NULL;
- delete after;
- }
- void del_at(int index)
- {
- node *current = new node;
- node *previous = new node;
- node *after = new node;
- current = head;
- for (int i = 1; i < index; i++)
- {
- previous = current;
- current = current->next;
- after = current->next;
- }
- previous->next = after;
- delete current;
- }
- };
- void main()
- {
- LinkedList object;
- object.insert_end(1);
- object.insert_end(2);
- object.insert_end(3);
- object.del_at(3);
- object.display();
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement