rendered paste body#include <iostream>using namespace std;//typedef fifonode* node;class fifo{ public: fifo(); void enqueue(int); int dequeue(); void print(); int length(); private: struct fifonode { int data; fifonode *next; // Pointer to next node fifonode() { data = -1; next = NULL; } } *head; int l;};fifo::fifo(){ head = NULL; l = 0;}void fifo::enqueue(int e){ fifonode *nnode = new fifonode; nnode->data = e; if(head==NULL) { head = nnode; } else { fifonode *t = head; while(t->next != NULL) { t=t->next; } t->next = nnode; } l++;}int fifo::dequeue(){ if(head==NULL) { cout << "List is empty!\n"; return -1; // error } else { l--; fifonode *t = head; while(t->next != NULL) { if(t->next->next != NULL) { t=t->next; } else { int r = t->next->data; t->next = NULL; cout << "\nDequeued " << r << "\n\n"; return r; } } int s = head->data; cout << "\nDequeued head node " << s << "\n\n"; head = NULL; return s; }}int fifo::length(){ return l;}void fifo::print(){ if(head==NULL) { cout << "List is empty!\n"; } else { cout << "Queue length: " << l << ".\n[-"; fifonode *t = head; while(t->next!=NULL) { cout << t->data << "-"; t=t->next; } cout << t->data << "-]\n"; }}int main(){ fifo f; f.enqueue(3); f.enqueue(2); f.enqueue(1); f.enqueue(8); f.enqueue(23); f.enqueue(100); f.enqueue(32); f.enqueue(1); f.print(); f.dequeue(); f.dequeue(); f.dequeue(); f.dequeue(); f.dequeue(); f.dequeue(); f.print(); f.dequeue(); f.dequeue(); f.print(); f.dequeue(); f.print(); return 0;}