用单链表的基本操作实现链队列
来源:互联网 发布:java web前端开发课程 编辑:程序博客网 时间:2024/05/10 06:17
用单链表的基本操作实现链队列的9个基本操作
typedef ElemType QElemType;#define LNode QNode#define LinkList QueuePtrvoid InitQueue(LinkQueue &Q){ InitList(Q.front);//以Q.front为头指针,构造空链表 Q.rear = Q.front;//Q.rear和Q.front共同指向链队列的头结点}void DestroyQueue(LinkQueue &Q){ DestroyList(Q.front);//销毁Q.front为头指针的链表,且置Q.front为空 Q.rear = Q.front;//置Q.front也为空}void ClearQueue(LinkQueue &Q){ ClearList(Q.front);//清空以Q.front为头指针的链表,头指针的指针域为空 Q.rear = Q.front;//Q.rear也指向空队列的头结点}Status QueueEmpty(LinkQueue Q){ return ListEmpty(Q.front);}int QueueLength(LinkQueue Q){ return ListLength(Q.front);}Status GetHead(LinkQueue Q, QElemType &e){ return GetElem(Q.front, 1, e);}void EnQueue(LinkQueue &Q, QElemType e){ ListInsert(Q.front, ListLength(Q.front) + 1, e);}Status DeQueue(LinkQueue &Q, QElemType &e){ if (Q.front->next == Q.rear) Q.rear = Q.front; return ListDelete(Q.front, 1, e);}void ListTraverse(LinkQueue Q, void(*visit)(ElemType&)){ ListTraverse(Q.front, visit);}
0 0
- 用单链表的基本操作实现链队列
- 单链队列的基本操作实现
- 队列基本操作的实现
- 顺序队列及链队列的基本操作实现
- 链队列的基本操作
- 链队列的基本操作
- 链队列的基本操作
- 链队列的基本操作
- 链队列的基本操作
- 链队列的基本操作
- 链队列的基本操作
- 链队列的基本操作
- 链队列的基本操作
- 链队列的基本操作
- 链队列的(9个基本操作)实现
- C语言实现链队列的基本操作
- c实现队列的基本操作
- C++队列实现的基本操作
- 关于hihocoder上连通分量的学习
- [LeetCode]3Sum
- 使用 Markdown 写作那些事儿
- 随机生成名字的Android页面
- windows 下安装squid3
- 用单链表的基本操作实现链队列
- Android Service两种启动方式
- 维罗纳中文离线地图App上线
- Android实现隐藏Title Bar最稳定的办法
- [leetcode]Word Ladder
- javascript事件代理
- 有关webstorm8.0.3和pycharm2.7安装过程中碰到的问题
- Scala的学习--- scala的环境搭建
- JavaScript中instanceof与typeof运算符的用法及区别详细解析