数据结构 链队列的实现 1 链队列的定义 队列的链式存储结构,其实就是线性表的单链表,只不过它只能尾进头出而已, 我们把它简称为链队列。 为了操作上的方便,我们将队头指针指向链队列的头结点,而队尾指针指向终端结点,如下图所示。 空队列时,front和rear都指向头结点,如下图所示。 链队列的结构为 ...
分类:
编程语言 时间:
2019-01-28 00:54:46
阅读次数:
334
指针学的好搓啊。。为了加深了对指针的运用 循环队列用了指针 链队列用了引用,还有就是在一个地方卡了好久好久,20多个报错无法编译通过要不要这么狠哇。。。最后发现是case内定义了新的变量惹 case里最好不要定义新的变量,否则会出现error:jump to case label,解决办法让case ...
分类:
其他好文 时间:
2018-04-11 11:38:05
阅读次数:
181
我把调通的完整代码放在下面 这个队列最讲究的地方就是初始化了,别看简单,还是有一个陷阱呢,今天掉下去爬了好久没爬上来 head和rear都是指向DataNode类型的指针,初始化的时候建立了一个DataNode结点让head和rear都指向它 增加结点的时候在队尾rear后面增加 删除结点的时候在队 ...
分类:
其他好文 时间:
2017-10-24 00:01:37
阅读次数:
190
队列是一种特殊的线性表,特殊之处在于它只允许在表的前端(front)进行删除操作,而在表的后端(rear)进行插入操作,和栈一样,队列是一种操作受限制的线性表。进行插入操作的端称为队尾,进行删除操作的端称为队头。队列中没有元素时,称为空队列。 队列的数据元素又称为队列元素。在队列中插入一个...
分类:
其他好文 时间:
2015-08-16 02:04:25
阅读次数:
161
1.链队列。利用带有头结点的单链表来实现链队列,插入和删除的复杂度都为o(1)
代码:
#include
#include
typedef struct Qnode
{
int data;
Qnode *next;
}Qnode;
typedef struct LinkQueue
{
Qnode *front;
Qnode *rear;
}LinkQueue;
vo...
分类:
编程语言 时间:
2015-05-07 20:30:24
阅读次数:
163
链队列的实现方法: 队列的链式存储结构,其实就是线性表的单链表,只不过它只能尾进头出而已,简称为链队列。为了操作上的方便,我们将队头指针指向链队列的头节点,而队尾指针指向终端节点。空队列时,front和rear都指向头节点。 注意:这里的实现是有头结点的,在队列的初始化函数中要为头结点开辟空间。 链...
分类:
其他好文 时间:
2015-02-10 18:14:28
阅读次数:
240
//------------------------------队列----------------------------------------//
//队列与栈相反,是一种先进先出(FIFO)的线性表。它只允许在表的一端进行插入,而在另一端删除元素
//允许插入的一端叫做队尾(rear),允许删除的一端叫做队头(front)
//给链队列增加一个头结点,并令头指针指向头结点。空的链队列...
分类:
其他好文 时间:
2014-10-21 17:49:03
阅读次数:
299
链队列,即队列的链式存储结构,它是仅在表头删除和表尾插入的单链表,因此一个链队列需要设置两个分别指示队头元素和队尾元素的指针,为了操作方便,给链队列添加一个头结点,并令队头指针指向头结点,由此,空的链队列的判断条件就是队头指针和队尾指针均指向头结点。
链队列的类型描述:
//链队列类型描述
typedef int QElemType;
typedef struct node{
QElemTy...
分类:
其他好文 时间:
2014-09-22 01:57:11
阅读次数:
189
#include
using namespace std;
//节点类
template
struct QNode
{
T data;
QNode *next;
};
//队列类
template
struct LinkList
{
QNode * front;
QNode * rear;
size_t size;
};
//构造一个空队列
template
void InitQueu...
分类:
编程语言 时间:
2014-05-08 03:48:19
阅读次数:
346