链队
来源:互联网 发布:张学良戒毒的故事知乎 编辑:程序博客网 时间:2024/06/05 07:53
#include <iostream>using namespace std;typedef struct QNode{ int data; struct QNode *next;}QNode,*QueuePtr;typedef struct{ QueuePtr front; QueuePtr rear;}LinkQueue;void InitQueue(LinkQueue &Q)//初始化队列,构造一个空队列{ Q.front = Q.rear =new QNode; Q.front->next = NULL;}void EnQueue(LinkQueue &Q,int e) //链队的入队,插入元素e为队列新的队尾元素{ QNode *p = new QNode; p->data = e; p->next = NULL; Q.rear->next = p; Q.rear = p;}bool IsEmpty(LinkQueue &Q)//判空{ if(Q.front == Q.rear) return true; return false;}bool DeQueue(LinkQueue &Q,int &e)//出队,队头元素出队,并用e返回其值{ if(IsEmpty(Q)) return false; QNode *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 QueueTraverse(LinkQueue &Q)//遍历{ if(IsEmpty(Q)) return false; QNode *p = Q.front->next; while(p!=NULL) { cout<<p->data<<endl; p=p->next; } return true;}int main(){ LinkQueue k; InitQueue(k); EnQueue(k,3); EnQueue(k,5); EnQueue(k,7); QueueTraverse(k); cout<<endl<<IsEmpty(k)<<endl<<endl; QNode *p = k.front; while(p!=NULL) { int e; DeQueue(k,e); cout<<e<<endl; p=p->next; } cout<<endl<<IsEmpty(k)<<endl<<endl;}
阅读全文
1 0
- 链队
- 链队
- 链队
- 链队
- 链队
- 链队
- 链队
- 链队
- 链队
- 链队
- 数据结构-链队
- 数据结构--链队
- 链队 尹成
- 数据结构(三)-链队
- 舞伴问题(链队)
- 第七周 周一 链队
- 各种数据结构完整实现之 链队
- 算法与数据结构之八----链队
- Android WebView用法和WebView加载提升网页速度
- vue初级知识点总结
- 【SG函数】BZOJ1188(HNOI2007)[分裂游戏]题解
- 如何用 Java 实现 Web 应用中的定时任务?
- 点击表格实现文本输入效果
- 链队
- MAVEN私服
- mysql的update insert 和 replace的区别
- QT快键键
- Python yield 使用浅析
- 51nod 1341 混合序列 (矩阵快速幂)
- Hi3519V101移植SDL+FreeType+SDL_ttf
- 16秋计算机JAVA第五节课作业
- 使用eclipse提交到GetHub