队列(Queue)的定义:只允许在一端进行插入另一端进行删除操作的线性表。允许插入的一端称为队尾(rear) ,允许删除的一端称为队头(front)。 具有“先进先出”特点。队列也是线性表,所以也存在顺序结构和链式结构。顺序队列:对于队列,入队操作的解释为:
(是在队尾追加一个元素,不需要移动任何元素,因此时间复杂度为0(1)。)
判断队列是否已满;
如果没满则先给队尾元素赋值;
然后将队尾指针后...
分类:
编程语言 时间:
2015-07-21 10:42:46
阅读次数:
114
下面使用三种遍历方法输出逆路径,假设二叉树采用二叉链存储结构存储。
方法1:采用基于层次遍历的方法,设计的队列为非环形顺序队列,将所有已扫描的节点指针进队,并在队列中保存双亲节点的位置。当找到一个叶子节点时,在队列中通过双亲节点的位置输出该叶子节点到根节点的逆路径。对应的算法如下:
void AllPath(BTNode * b)
{
struct snode
{
BTNode *no...
分类:
编程语言 时间:
2015-07-06 18:10:15
阅读次数:
493
队列是一种限定存取位置的线性表,允许插入的一端叫做队尾(rear),允许删除的一端叫做队首(front)。
队列具有FIFO的性质
队列的存储表示也有两种方式:基于数组的,基于列表的。基于数组的叫做顺序队列,基于列表的叫做链式队列。
一下是基于动态数组的顺序队列的模板类的实现。
顺序队列的抽象基类如下所示:只提供了接口和显式的默认构造函数和析构函数,在派生类中调用。
#i...
分类:
其他好文 时间:
2015-06-23 15:50:28
阅读次数:
191
顺序队列的初始化及对队列的操作保存在queue.h中#ifndef QUEUE_H
#define QUEUE_H
template
class Queue
{
public:
Queue(int queuecapacity);
bool Isempty();
void Front();
void Rear();
void Pu...
分类:
编程语言 时间:
2015-06-18 09:48:07
阅读次数:
132
什么是队列?队列(Queue)也是一种运算受限的线性表。它仅仅同意在表的一端进行插入。而在还有一端进行删除。同意删除的一端称为队头(front),同意插入的一端称为队尾(rear)。FIFO原则队列具有先进先出原则。与栈的先进后出形成对照。为什么设计循环队列?队列的顺序存储结构称为顺序队列。顺序队列...
分类:
其他好文 时间:
2015-06-11 18:49:38
阅读次数:
94
public class SqQueue {
int[] data;
int front, rear;
SqQueue() {
data = new int[30];
front = rear = -1;
}
boolean empty() {
return front == rear;
}
boolean enQueue(int e) {
if(rear ==...
分类:
其他好文 时间:
2015-06-11 17:09:29
阅读次数:
125
什么是队列?队列(Queue)也是一种运算受限的线性表。它仅仅同意在表的一端进行插入,而在还有一端进行删除。同意删除的一端称为队头(front),同意插入的一端称为队尾(rear)。FIFO原则队列具有先进先出原则。与栈的先进后出形成对照。为什么设计循环队列?队列的顺序存储结构称为顺序队列。顺序队列...
分类:
其他好文 时间:
2015-06-09 17:04:05
阅读次数:
89
理论基础:队列(Queue)是插入操作限定在表的尾部而其它操作限定在表的头部进行的线性表。把进行插入操作的表尾称为队尾(Rear),把进行其它操作的头部称为队头(Front)。对列的操作是按照先进先出(FirstInFirstOut)或后进后出(LastInLastOut)的原则进行的,因此,队列又称为FIFO..
分类:
编程语言 时间:
2015-06-09 14:02:15
阅读次数:
230
#include "stdio.h" #include "stdlib.h" #include "io.h" #include "math.h" #include "time.h"#define OK 1#define ERROR 0#define TRUE 1#define FALS...
分类:
其他好文 时间:
2015-06-06 17:47:48
阅读次数:
121
头文件:
#pragma once
#include
#include
using namespace std;
template
class SeqQueue
{
public:
SeqQueue(size_t sz = INIT_SZ);
~SeqQueue();
public:
bool empty()const;
bool full()const;
void s...
分类:
编程语言 时间:
2015-05-28 21:30:30
阅读次数:
221