Queue Impl

Run Settings
LanguageC++
Language Version
Run Command
#include <iostream> using namespace std; #include <iostream> using namespace std; class Node { public : int data; Node *next; Node() { data = 0; next = NULL; } Node(int data) { this->data = data; this->next = NULL; } }; class Queue { Node *head; Node *tail; public : void enqueue(int data); void dequeue(); void display(); bool isEmpty(); }; bool Queue::isEmpty() { if(head == NULL) { return true; } return false; } void Queue::enqueue(int data) { Node *newNode = new Node(data); cout << "enqueue : " << data << endl; if(head == NULL) { head = newNode; tail = newNode; return; } while(tail->next != NULL) { tail = tail->next; } tail->next = newNode; tail = newNode; } void Queue::dequeue() { if(head == NULL) { cout << "Queue is Empty" << endl ; return; } Node *temp = head; cout << "dequeue : " << temp->data << endl; head = head->next; delete temp; } void Queue::display() { if(head == NULL) { cout << "Stack is Empty" << endl ; return; } cout << "Queue Elements : " << endl; Node *temp = head; while(temp != NULL) { cout << temp->data << endl; temp = temp->next; } } int main() { Queue *queue = new Queue(); queue->enqueue(1); queue->enqueue(2); queue->enqueue(3); queue->enqueue(4); queue->display(); queue->dequeue(); queue->display(); queue->enqueue(5); queue->display(); queue->dequeue(); queue->display(); queue->dequeue(); queue->display(); queue->dequeue(); queue->display(); queue->dequeue(); queue->display(); return 0; }
Editor Settings
Theme
Key bindings
Full width
Lines