uelink();
void put(Type value);
Type get();
void clear();
void showqueue();
private:
node<Type> *head;
node<Type> *rear;
};
template<class Type>
queuelink<Type>::queuelink()
{
node<Type> *T;
T=new node<Type>
T->next=NULL;
head=rear=T;
}
template<class Type>
queuelink<Type>::~queuelink()
{ node<Type> *N,*Temp;
for(N=rear;N!=NULL;)
{ Temp=N;
N=N->next;
delete Temp;
----------------------- Page 84-----------------------
}
}
template<class Type>
void queuelink<Type>::put(Type value)
{ node<Type> *T;
T=new node<Type>
T->next=NULL;
head->data=value;
head->next=T;
head=head->next;
cout<<"you have put a data into the queue!\n";
}
template<class Type>
Type queuelink<Type>::get()
{ Type value;
node<Type> *T;
if(head==rear)
{ cout<<"\n The queue has no data!\n";
return(0);
}
value=rear->data;
T=rear;
rear=rear->next;
delete T;
cout<<"\n Get "<<value<<" from queue.\n";
return(value);
}
template<class Type>
----------------------- Page 85-----------------------
void queuelink<Type>::clear()
{ head=rear;
cout<<"\n ***Queue is empty! ***\n";
}
template <class Type>
void queuelink<Type>::showqueue()
{ node<Type> *T;
if(head==rear)
{ cout<<"\n the queue has no data! ";
return;
}
cout<<"\n the content of queue: \n";
for(T=rear;T!=head;T=T->next)
cout<<setw(5)<<T->data;
cout<<"\n\n";
}
main()
{ cout<<"<p>------put data to queue\n";
cout<<"<g>------get data from queue\n";
cout<<"<l>------clear queue\n";
cout<<"<s>------show the content of queue\n";
cout<<"<q>------quit......\n";
queuelink<char> ss;
char value;
char ch;
while(1)
{ cout<<"\n please select an item: ";
cin>>ch;
----------------------- Page 86-----------------------
ch=toupper(ch);
switch(ch)
{ case 'p':cout<<"\n enter the value that";
cout<<" you want to put: ";
cin>>value;
ss.put(value);