C++实现队列

来源:互联网 发布:存储过程动态sql 编辑:程序博客网 时间:2024/06/16 20:13
#include<iostream.h>struct Node{    int num;Node *next;Node *father;};class quene{Node *tail;Node *head;public: quene();   //构造函数不能有返回值 pop(); push(); print(); count();}; quene::quene(){     Node *temp=new Node;     if (NULL == temp)          {              cout << "Failed to new the node." << endl;          }          temp->num = NULL;          temp->next = NULL;temp->father = NULL;        head = temp;          tail = temp;     //return 1;  constructors not allowed a return type}quene::pop(){   if(tail==head)   {     cout<<"The Queue is empty"<<endl;   }   else   {   cout<<"Tail`s num"<<tail->num<<endl;   tail->father->next=NULL;   delete tail;   }}int quene::push(){Node *temp=new Node;    cout<<"Input the num you want to assert"<<endl;cin>>temp->num;temp->next=head->next;if(head->next!=NULL){head->next->father=temp;}if(head->next==NULL){tail=temp;}head->next=temp;}quene::print(){Node *p=head->next;if(p==NULL){cout<<"The quene is empty"<<endl;}while(p!=NULL){      cout<<p->num<<endl;   p=p->next;}}int quene::count(){Node *p=head->next;if(p==NULL){cout<<"The quene is empty"<<endl;return 1;}else{int temp=0;    while(p!=NULL){      temp++;  p=p->next;}    cout<<"The quene is "<<temp<<" long "<<endl;return 0;}}void main(){quene a;a.push();a.push();a.pop();a.print();        a.push();a.print();a.count();}

原创粉丝点击