循环队列

以下是为您整理出来关于【循环队列】合集内容,如果觉得还不错,请帮忙转发推荐。

【循环队列】技术教程文章

java数据结构-10循环队列【代码】

一、概念:循环队列就是将队列存储空间的最后一个位置绕到第一个位置,形成逻辑上的环状空间,供队列循环使用 二、代码实现:@SuppressWarnings("unchecked") publicclass CircleQueue<E> {privateint front;privateint size;private E[] elements;privatestaticfinalint DEFAULT_CAPACITY = 10;public CircleQueue() {elements = (E[]) new Object[DEFAULT_CAPACITY];}publicint size() {return size;}publicboolean isEmpty() {r...

循环队列的实现(顺序表)【代码】

#include<iostream> #define MAXQSIZE 100 using namespace std; typedef int QElemType; typedef struct {QElemType *base;int front;int rear; }SqQueue;void InitQueue(SqQueue &Q)//循环队列的初始化 {Q.base = new QElemType[MAXQSIZE];if(!Q.base)exit(OVERFLOW);Q.front = Q.rear = 0; }int QueueLenght(SqQueue Q)//求循环队列的长度 {return (Q.rear - Q.front + MAXQSIZE)%MAXQSIZE; }void EnQueue(SqQueue &Q,QElemTyp...

数据结构-循环队列程序演示【代码】

1/* 2循环队列需要2个参数来确定;3front,rear41)队列初始化5front和rear的值都为零62)队列非空7front代表的是队列的第一个元素8rear代表的是队列的最后一个有效元素93)队列空10front和rear的值相等,但不一定是零11*/ 12 13 14/* 15队列16定义:一种可以实现先进先出的存储结构17分类:18静态队列19链式队列20*/ 21 #include <stdio.h>22 #include <malloc.h>23 24 typedef struct Queue25{26int *pBase;27int front;28int rear...

原创:Javascript循环队列类【代码】

需要滚动显示最多一定数量的信息,于弄了个这个var LeesCircleQueue=function(size) {// 队列数组 var _queue=[];// 队首索引var _front=0;// 队尾索引var _rear=0;// 元素个数var _length=0;// 队列的内存大小,但实际可用大小为_capacity-1var _capacity = size;// 添加元素 this.Push=function(item){var nIndex = GetNextRearIndex();_queue[nIndex] = item;if (_length < _capacity)_length++;}// 移除头部元素this.Pop=func...

循环队列FIFO原理及C实现【代码】【图】

循环队列是把顺序队列首尾相连,把存储队列元素的表从逻辑上看成一个环,成为循环队列。 入队时尾指针向前追赶头指针;出队时头指针向前追赶尾指针。定义一个循环队列结构:#define FIFO_HEAD(name, type) struct name { struct type *fifo; ...

队列的顺序存储结构(循环队列)(C语言实现)【代码】【图】

1 #include <stdio.h>2 #include <stdlib.h>3 4#define OK 15#define ERR 26#define TRUE 17#define FALSE 08#define MAXSIZE 4 //定义队列的最大长度 9 10 typedef int status; //定义函数返回的状态,OK & ERR 11 typedef char datatype; //定义队列中每个元素的数据类型,这里暂定为字符型 12 13 typedef struct {14 datatype data[MAXSIZE]; //存储着队列中的每个元素 15int front, rear; //头指针和尾指针 16/* 17 假...

定长循环队列C语言实现

#ifndef _CONST_H_#define _CONST_H_#include <stdio.h>#include <stdlib.h>typedef enum { False = 0, True,}Bool;typedef int ElemType;#define QUEUE_MAX_SIZE 10#define STACK_INIT_SIZE 10#define STACK_INCREMENT_SIZE 2#define Null ((void *)0)typedef enum{ NORMAL = 0, ERROR, UNDERFLOW, OVERFLOW, STATUSCOUNT,}Status;#endif #ifndef _QUEUE_H_#define _QUEUE_H_#include "Const.h"typedef struct queue{ ElemType *b...

C++ 循环队列实现缓冲类【代码】

好久没有写博客了,前段时间做项目需要一个缓冲机制用来缓存视频帧。下面是自己实现的视频缓冲类。在此类中用循环队列实现了视频帧数据的入队、出队。在类中使用互斥对象避免出入队出现错误。下面是代码。 /*****************头文件****************/using namespace std;#define MAXSIZE 50typedef struct {int iSize;//数据的大小char *cdata; }bufData; typedef struct {bufData mdata[MAXSIZE];int iRead;//队头int iWrite...

循环队列/顺序队列(C++)【代码】【图】

队列(queue)是一种限定存取位置的线性变。他允许在表的一端插入,在另一端删除。这个和计算机调度策略中的先来先服务FCFS(First Come/First Served)是一样的。队列中可以插入的一端为队尾(rear),允许删除的一端称为队头(front)。队列也分为两种,一种是用数组的存储表示,一种是基于链表的存储表示。基于数组的存储表示的队列被称为顺序队列。其数据成员包括,一维数组elements用来存储数据,指针front和rear用来指示队尾队...

循环队列

# include <stdio.h># include <malloc.h>typedef struct Queue{int *pBase;int front;int rear;}QUEUE;void init( QUEUE * );bool en_queue( QUEUE *, int val );//入队void traverse_queue( QUEUE * );bool full_queue( QUEUE * );bool out_queue( QUEUE *, int * );//出队bool empty_queue( QUEUE * );int main( void ){QUEUE Q;int val;init( &Q );en_queue( &Q, 1 );en_queue( &Q, 2 );en_queue( &Q, 3 );en_queue( &Q, 4 );e...