C++代码实现链队列详解

目录

  • 主要功能:
  • 完整代码展示:
  • 总结

主要功能: 初始化入队出队取队头元素销毁队列输出队列

完整代码展示:
#include using namespace std; #define MAXSIZE 100typedef struct QueNode{//定义链队列存储结构int data; QueNode * next; }QNode,*QuePtr; typedef struct {//定义链队列指针QuePtr front; //队头指针QuePtr rear; //队尾指针}LinkQue; bool InitQue(LinkQue &Q){//初始化Q.front = Q.rear = new QNode; if (!Q.front) return false; Q.front->next = NULL; return true; }bool DestoryQue(LinkQue &Q){//销毁表while (Q.front){Q.rear = Q.front->next; delete(Q.front); Q.front = Q.rear; }return true; }bool EnQue(LinkQue &Q,int e){//入队QuePtr p = new QNode; if(!p) return false; p->data = https://www.it610.com/article/e; p->next = NULL; Q.rear->next = p; Q.rear = p; return true; }bool OutQue(LinkQue &Q,int e){//出队if(Q.front == Q.rear) return false; //队空QuePtr p = Q.front->next; e = p->data; Q.front->next = p->next; if(Q.rear == p) Q.rear = Q.front; delete p; return true; }bool GetHead(LinkQue Q,int &e){//取队头元素if(Q.front == Q.rear) return false; e = Q.front->next->data; return true; }void ShowList(LinkQue Q){//输出链队QuePtr p = Q.front->next; while (p){cout<【C++代码实现链队列详解】data<<" "; p = p->next; }cout<> choose; switch (choose) {case 1:cout << "请输入入队元素:"; cin >> e; if (EnQue(Q, e))cout << "入队成功" << endl; break; case 2:if (OutQue(Q, e))cout << "出队成功" << endl; break; case 3:if (GetHead(Q, e))cout << "队头元素为" << e << endl; break; case 4:if (DestoryQue(Q))cout << "销毁成功" << endl; break; case 5:cout << "队列元素为:"; ShowList(Q); break; }}return 0; }

运行结果图:
C++代码实现链队列详解
文章图片


总结 本篇文章就到这里了,希望能够给你带来帮助,也希望您能够多多关注脚本之家的更多内容!

    推荐阅读