链队列:队列的链式存储结构
2012-08-06 00:00
1786 查看
链队列的结构
队列的链式存储结构,其实就是线性表的单链表,只不过它只能尾进头出而已,我们把它简称为链队列。为了操作上的方便,我们将队头指针指向链队列的头结点,而队尾指针指向终端结点。一个普通的链队列大概是下面这个样子:
当队列为空时,front和rear都指向头结点。
链队列的结构体定义
与链栈一样,我们分两步定义链队列的结构体,首先是按链表来定义链队列的结点。/* QElemType类型根据实际情况而定,这里假设为int */ typedef int QElemType; typedef struct QNode /* 结点结构 */ { QElemType data; struct QNode *next; } QNode,*QueuePtr;
然后再定义 LinkQueue 的结构体。实际上只要定义队头和队尾指针就可以了。
typedef struct /* 队列的链表结构 */ { QueuePtr front,rear; /* 队头、队尾指针 */ } LinkQueue;
合起来,链队列的结构体定义为:
#include "stdio.h"/* QElemType类型根据实际情况而定,这里假设为int */ typedef int QElemType; typedef struct QNode /* 结点结构 */ { QElemType data; struct QNode *next; } QNode,*QueuePtr;typedef struct /* 队列的链表结构 */
{
QueuePtr front,rear; /* 队头、队尾指针 */
} LinkQueue;
int main()
{
return 0;
}
延伸阅读
此文章所在专题列表如下:栈的定义与大概理解
栈的抽象数据类型ADT
顺序栈:栈的顺序存储结构
顺序栈的进栈操作
顺序栈的出栈操作
获取顺序栈的栈顶元素
链栈:栈的链式存储结构
链栈的进栈操作
链栈的初始化与遍历
链栈的出栈操作
链栈的置空操作与判断链栈是否为空
为什么要使用栈这种数据结构
递归,栈的重要应用之一
栈是如何实现递归的
接触后缀表达式(逆波兰表示法)
图解后缀表达式的计算过程
将中缀表达式转化为后缀表达式
开始学习队列这个数据结构
队列的抽象数据类型ADT
顺序队列:队列的顺序存储结构
顺序队列的入队操作
顺序队列的出队操作
顺序队列置空与判断操作
队列顺序存储结构的不足
关于循环队列的一些讲解
链队列:队列的链式存储结构
链队列的初始化操作
链队列的入队操作
链队列的出队操作
补完链队列的其它常见操作
循环队列与链队列的优劣势
相关文章推荐
- ※数据结构※→☆线性表结构(queue)☆============优先队列 链式存储结构(queue priority list)(十二)
- 数据结构之队列――链式存储结构(php代码实现)
- 数据结构:队列的链式存储结构
- 循环队列的链式存储结构
- C++类模板 实现队列的链式存储结构算法 《数据结构》(北京科海) 部分代码摘抄,自己编写运行
- 队列的链式存储结构
- 单链队列,队列的链式存储结构C++实现
- 队列的链式存储结构的实现1 —— 创建销毁判断满空入队
- 数据结构(二):线性表包括顺序存储结构(顺序表、顺序队列和顺序栈)和链式存储结构(链表、链队列和链栈)
- 队列链式存储结构的C++模板类头文件源代码实现
- [置顶] ※数据结构※→☆线性表结构(queue)☆============优先队列 链式存储结构(queue priority list)(十二)
- 【数据结构基础】队列的链式存储结构
- 数据结构(队列):队列的链式存储结构
- 队列的链式存储结构的实现2 —— 出队查看队首尾元素计算元素个数
- 队列的链式存储结构(复习)
- ※数据结构※→☆线性表结构(queue)☆============队列 链式存储结构(queue list)(九)
- 队列的链式存储结构
- 队列的链式存储结构的实现3——完结编
- 数据结构:队列的链式存储结构
- 队列的链式存储结构