//structure of the nodeTemplate<typename t>structnode{T data; Node<t>*Next; Node (): Next (nullptr) {}; Node (t):d ATA (t), next (nullptr) {};}//template class constructs a queue classTemplate<typename t>Class myqueue{ Public: Myqueue (): Head (nullptr), tail (nullptr), COUNT (0) {Head=NewNode<t>(); Tail=Head; Count=0; } voidEnqueue (T &x); T Front (); voiddequeue (); intcounts (); BOOLempty (); ~Myqueue () { while(head->next!=nullptr) {Node<t>* p=Head; Head=head->Next; } }Private: intcount; Node<t>*Head; Node<t>*tail;} Template<typename t>voidMyqueue<t>::enqueue (T &x) {Node<t>* p=NewNode<t> (x);//Application Spacehead->next=p; Head=p; Count++;} Template<typename t>BOOLMyqueue<t>:: Empty () {returncount==0;} Template<typename t>T Mystack<T>:: Front () {if(!empty ())returnHead->next->Dada;} Template<typename t>voidMystack<t>::p op () {if(!empty ()) {Node<t>* del=head->Next; Head->next=haed->next->Next; Deletedel; Count--; }}template<typename t>intMystack<t>:: Counts () {returncount;}
Data structure--the implementation of C + + template based on linked list queue