C++代码实现链队列详解
主要功能初始化、入队、出队、取队头元素、销毁队列、输出队列完整代码展示12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394#include iostreamusingnamespacestd;#define MAXSIZE 100typedefstructQueNode{//定义链队列存储结构intdata;QueNode * next;}QNode,*QuePtr;typedefstruct{//定义链队列指针QuePtr front;//队头指针QuePtr rear;//队尾指针}LinkQue;boolInitQue(LinkQue Q){//初始化Q.front Q.rear newQNode;if(!Q.front)returnfalse;Q.front-next NULL;returntrue;}boolDestoryQue(LinkQue Q){//销毁表while(Q.front){Q.rear Q.front-next;delete(Q.front);Q.front Q.rear;}returntrue;}boolEnQue(LinkQue Q,inte){//入队QuePtr p newQNode;if(!p)returnfalse;p-data e;p-next NULL;Q.rear-next p;Q.rear p;returntrue;}boolOutQue(LinkQue Q,inte){//出队if(Q.front Q.rear)returnfalse;//队空QuePtr p Q.front-next;e p-data;Q.front-next p-next;if(Q.rear p) Q.rear Q.front;deletep;returntrue;}boolGetHead(LinkQue Q,inte){//取队头元素if(Q.front Q.rear)returnfalse;e Q.front-next-data;returntrue;}voidShowList(LinkQue Q){//输出链队QuePtr p Q.front-next;while(p){coutp-data ;p p-next;}coutendl;}intmain() {LinkQue Q;inte;intchoose -1;cout1.入队-------------------2.出队endl;cout3.取头元素---------------4.销毁endl;cout5.输出链队---------------0.退出endl;InitQue(Q);while(choose ! 0) {cout 请选择功能;cin choose;switch(choose) {case1:cout 请输入入队元素;cin e;if(EnQue(Q, e))cout 入队成功 endl;break;case2:if(OutQue(Q, e))cout 出队成功 endl;break;case3:if(GetHead(Q, e))cout 队头元素为 e endl;break;case4:if(DestoryQue(Q))cout 销毁成功 endl;break;case5:cout 队列元素为;ShowList(Q);break;}}return0;}运行结果图总结本篇文章就到这里了希望能够给你带来帮助