C语言实现循环队列基本操作(初始化、判断队空、入队、出队)

转载 2015年07月07日 21:48:00
//循环队列的基本操作
#include<stdio.h>
#define MaxSize 50
typedef int ElemType;


//定义循环队列结构体
typedef struct 
{
ElemType data[MaxSize];
int front,rear;
}SqQueue;


//初始化
void InitQueue(SqQueue &Q)
{
Q.rear = Q.front = 0;
}


//判断队列是否为空
bool isEmpty(SqQueue &Q)
{
if(Q.rear == Q.front)
return true;
else
return false;
}


//入队操作
bool EnQueue(SqQueue &Q,ElemType x)
{
if((Q.rear+1)%MaxSize == Q.front)
return false;
Q.rear = (Q.rear+1)%MaxSize;
Q.data[Q.rear] = x;
printf("%d\n",Q.data[Q.rear]); //用于显示入队数据
return true;
}


//出队操作
bool DeQueue(SqQueue &Q,ElemType &x)
{
if(Q.rear == Q.front)
return false;
Q.front = (Q.front+1)%MaxSize;
x = Q.data[Q.front];
printf("%d\n",x); //用于显示出队数据
return true;
}


void main()
{
SqQueue q;
int m,x;
InitQueue(q);
EnQueue(q,5);
EnQueue(q,23);
EnQueue(q,31);
EnQueue(q,36);
DeQueue(q,x);
m = isEmpty(q);
printf("%d\n",m);

}

运行结果:


相关文章推荐

C语言-循环队列的简单实现

用C语言实现一个循环队列并不难。关键点在于对队列 "空" 和 "满" 状态的判断。 正如《C和指针》中所描写的,有两种方法来实现对队列空和满状态的判断。 在数组中空一个元素不填,起始时, 置t...

循环队列及C语言实现<一>

循环队列是为了充分利用内存,进行数据操作的一种基本算法。具体实现方式可划分为:链式队列和静态队列,这里所谓的静态是指在一片连续的内存区域进行数据操作。本文只讲述静态队列,也是最简单的实现方式,静态队列...

数据结构:循环队列(C语言实现)

生活中有很多队列的影子,比如打饭排队,买火车票排队问题等,可以说与时间相关的问题,一般都会涉及到队列问题;从生活中,可以抽象出队列的概念,队列就是一个能够实现“先进先出”的存储结构。队列分为链式队列和...

循环队列实现(C语言)

#ifndef __QUEUE_H_ #define __QUEUE_H_ typedef int DataType; ///////////////////////////////...

数据结构C语言实现之循环队列

#include #include //定义函数结果状态码 #define OK 1 #define ERROR 0 #define TRUE 1 #define FALSE 0 //定义循环队...

顺序循环队列基本操作(入队,出队,清空,销毁,历遍)

#include #include #include #define MAXSIZE 5 #define OVERFLOW -1 #define OK 1 #define T...
  • wfdtxz
  • wfdtxz
  • 2012-10-07 16:06
  • 18029

数据结构(六)循环队列的基本操作 入队 退队

队列特性:先进先出(FIFO)——先进队列的元素先出队列。来源于我们生活中的队列(先排队的先办完事)。 采用空闲一个位置的方式,即N个元素空间的循环队列最多只能存放N-1个有效元素。这也是大多数教...

队列基本操作 出队与入队

#include #include typedef struct QNode { //构造结点类型 int data; struct QNode *next; }*QueuePtr; typede...

[转载] 循环队列的定义、入队、出队等操作 C++代码实现

转载自:http://blog.csdn.net/hackerain/article/details/5934240 感谢原博主。 看完博主文章...

链队列和循环队列的表示与实现-初始化、判空、求长、入队、出队、遍历、求头、求尾、清队、毁队

队列:队列是一种先进先出(first in first out,FIFO)的线性表。它只允许在一端进行插入,而在另一端进行删除的元素。在队列中允许插入的元素叫做队尾,允许删除的一端叫做队头。其结构如下...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)