C++代码实现链队列详解
目录
- 主要功能:
- 完整代码展示:
- 总结
主要功能:
初始化
、入队
、出队
、取队头元素
、销毁队列
、输出队列
完整代码展示:
#includeusing 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++代码实现链队列详解](https://img.it610.com/image/info11/7d840717d0f84eee8e3c1ba952a9dd84.jpg)
文章图片
总结 本篇文章就到这里了,希望能够给你带来帮助,也希望您能够多多关注脚本之家的更多内容!
推荐阅读
- CVE-2020-16898|CVE-2020-16898 TCP/IP远程代码执行漏洞
- 关于QueryWrapper|关于QueryWrapper,实现MybatisPlus多表关联查询方式
- MybatisPlus使用queryWrapper如何实现复杂查询
- python学习之|python学习之 实现QQ自动发送消息
- 孩子不是实现父母欲望的工具——林哈夫
- opencv|opencv C++模板匹配的简单实现
- Node.js中readline模块实现终端输入
- java中如何实现重建二叉树
- 不废话,代码实践带你掌握|不废话,代码实践带你掌握 强缓存、协商缓存!
- 人脸识别|【人脸识别系列】| 实现自动化妆