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);

}

运行结果:


PV、TPS、QPS是怎么计算出来的?

术语说明: QPS = req/sec = 请求数/秒 【QPS计算PV和机器的方式】 QPS统计方式 [一般使用 http_load 进行统计] QPS = 总请求数 / ( 进程总...

关于mysql中由于类型转换导致索引无法使用的问题

mysql> create index idx_create_time on baixyu(create_time); Query OK, 0 rows affected (0.15 sec) R...

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

#include #include #include #define MAXSIZE 5 #define OVERFLOW -1 #define OK 1 #define T...
  • wfdtxz
  • wfdtxz
  • 2012年10月07日 16:06
  • 18596

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

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

C语言实现顺序队列的初始化、入队、出队等操作(三)

队列是一种只能在队头删除、队尾插入的线性表,本文实现队列的顺序结构,使用一个结构体包含队头指针、队尾指针、队列的长度这三个成员。通过malloc函数为队列开辟一片内存,大小为100个单位(100*数据...

队列基本操作 出队与入队

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

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

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

队列的基本操作(C语言版):进队,出队,输出

#include #include typedef struct queue { int data; struct queue *link; }QUEUE; void EnQueue...

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

队列:队列是一种先进先出(first in first out,FIFO)的线性表。它只允许在一端进行插入,而在另一端进行删除的元素。在队列中允许插入的元素叫做队尾,允许删除的一端叫做队头。其结构如下...

链队列、循环队列的实现(初始化、出队、入队、取队头元素、判空)

链队列 #include #include //结点的结构体定义 typedef int DataType; typedef struct qnode { DataType data; stru...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:C语言实现循环队列基本操作(初始化、判断队空、入队、出队)
举报原因:
原因补充:

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