数据结构_队列_用链表动态建立释放节点实现队列各种操作_C++实现

来源:互联网 发布:java参数&传递 编辑:程序博客网 时间:2024/04/26 22:09

"mqueue.h"


#include<iostream>using namespace std;class NODE{public:NODE();int num;NODE* next;};NODE::NODE(){num=0;next=NULL;}class QUEUE{public:QUEUE();void Push();void Pop();void Front();void Length();private:NODE *front,*rear,*keep;int len;};QUEUE::QUEUE(){keep=front=rear=NULL;len=0;}void QUEUE::Pop(){cout<<"Pop Called !"<<endl<<endl;if(front==rear){if(front==NULL)cout<<"Queue Empty !"<<endl<<endl;else{delete front;front=rear=NULL;len--;}}else{keep=front->next;delete front;front=keep;len--;}}void QUEUE::Push(){cout<<"Push Called !"<<endl<<endl;int num;cout<<"Please Input The Number You Want To Push In This Queue :"<<endl<<endl;cin>>num;if(rear==NULL)front=rear=new NODE;else{rear->next=new NODE;rear=rear->next;}rear->num=num;len++;}void QUEUE::Front(){cout<<"Front Called !"<<endl<<endl;if(front==NULL){cout<<"Queue Empty !"<<endl<<endl;return;}cout<<"The Element At The Top Of The Queue Is : "<<front->num<<endl<<endl;}void QUEUE::Length(){cout<<"The Length Of This Queue Is : "<<len<<endl<<endl;}




"main.cpp"



#include<iostream>#include"mqueue.h"using namespace std;int main(){QUEUE q;char choice;while(1){cout<<"Your Choice , Please :"<<endl<<endl<<"1 . Push"<<endl<<"2 . Pop"<<endl<<"3 . Length"<<endl<<"4 . Front"<<endl<<endl;cin>>choice;switch(choice){case '1':q.Push();break;case '2':q.Pop();break;case '3':q.Length();break;case '4':q.Front();break;default:cout<<"Please Input The Right Choice As Shown Above !"<<endl<<endl;break;}}}


原创粉丝点击