什么是队列?队列(Queue)也是一种运算受限的线性表。它仅仅同意在表的一端进行插入,而在还有一端进行删除。同意删除的一端称为队头(front),同意插入的一端称为队尾(rear)。FIFO原则队列具有先进先出原则,与栈的先进后出形成对照。为什么设计循环队列?队列的顺序存储结构称为顺序队列,顺序队列...
分类:
其他好文 时间:
2015-05-19 20:33:17
阅读次数:
107
今天总结循环队列。
什么是队列?
队列跟栈差不多,也是一种操作受限的线性表,只允许在线性表的一端进行插入操作,在另一端进行删除操作。插入的一端称为队尾,删除的一端称为队头,插入操作称为入队,而删除操作称作出出队,不含任何数据元素的队称为空队。队列也有两种实现方式,一种就是顺序存储,用数组实现,另一种是采用链表形式。今天总结顺序存储的循环队列。
什么是循环队列?
循环队列就是,当...
分类:
编程语言 时间:
2015-05-15 09:12:19
阅读次数:
277
附源程序如下: 1 #include 2 #define MAXLEN 10 3 4 typedef struct 5 { int data[MAXLEN]; // 定义数据的类型 6 int fron...
分类:
其他好文 时间:
2015-05-13 21:23:07
阅读次数:
123
循环队列的实现,本人语文表达能力有限,但写的代码简单易懂,这就不做更多的解释,直接看代码。
1:头文件:#include"DQueue.h"#pragma once
#include
#include
#define ElemType int
#define SizeFull 20
typedef struct Queue
{
ElemType *data;
int sizefull;
...
分类:
其他好文 时间:
2015-05-12 01:44:04
阅读次数:
158
循环队列的表示和实现定义
用一组地址连续的存储单元依次存放从队头到队尾的元素。还需要附设两个整型变量:front指示队头元素的位置,rear指示队尾元素的下一个位置
算法const int MAXSIZE=128;
typedef struct Squeue{
Elemtype elem[MAXSIZE];
int front;
int rear;
}Squeue;
队列的基本形态...
分类:
其他好文 时间:
2015-05-10 17:20:36
阅读次数:
125
关于循环队列循环队列就是像一个圈一样,可以一直不停的入队和出队,例如:队列已经满了,如果执行一次出队操作,队列头部就空出来了,这时候就可以把元素继续插入空出来的那里,头指针向后移第二个元素就变成的队列的头,上一个对头就变成了队尾下图中:此时队列已经满了,但是当把12出队后,head指针会指向第1个位置,这是再忘队列中插入元素的,tail就会指向0的位置,然后把元素插入到0的位置。
组成循环队列需要...
分类:
其他好文 时间:
2015-05-09 08:58:26
阅读次数:
182
1 #include 2 3 #define SIZE 10 4 typedef char ele; 5 6 typedef struct{ 7 ele *e; 8 int front; 9 int rear;10 }cycleQueue;11 12 13 //init...
分类:
编程语言 时间:
2015-05-08 09:23:50
阅读次数:
144
书中给出的算法有点浪费空间,可以使用循环队列进行改进,这样就不需要使用额外的空间,在原数组的基础上就可以完成解密,代码如下: 1 #include 2 3 void decode(int a[], int size) 4 { 5 int head = 0, tail = size;//t...
分类:
编程语言 时间:
2015-04-29 17:00:07
阅读次数:
160
//循环队列
//CycQueue.h
#defineQUEUEMAX15
typedefstruct
{
DATAdata[QUEUEMAX];//队列数组
inthead;//队头
inttail;//队尾
}CycQueue;
CycQueue*CycQueueInit()
{
CycQueue*q;
if(q=(CycQueue*)malloc(sizeof(CycQueue)))//申请保存队列的内存
{
q->head=0;//设..
分类:
其他好文 时间:
2015-04-28 18:44:35
阅读次数:
128
//循环队列
//CycQueue.h
#defineQUEUEMAX15
typedefstruct
{
DATAdata[QUEUEMAX];//队列数组
inthead;//队头
inttail;//队尾
}CycQueue;
CycQueue*CycQueueInit()
{
CycQueue*q;
if(q=(CycQueue*)malloc(sizeof(CycQueue)))//申请保存队列的内存
{
q->head=0;//设..
分类:
其他好文 时间:
2015-04-28 18:42:40
阅读次数:
134