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语言实现

线性表有顺序存储和链式存储,栈是线性表,所以也有两种存储方式。同样,队列作为一种特殊的线性表,也同样存在两种存储方式。 那就是顺序队列、链式队列两种 这里主要介绍顺序队列,链式队列我在...
  • zxnsirius
  • zxnsirius
  • 2016年04月21日 21:04
  • 1677

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

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

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

//循环队列的基本操作 #include #define MaxSize 50 typedef int ElemType; //定义循环队列结构体 typedef struct  ...
  • u012913936
  • u012913936
  • 2015年07月07日 21:48
  • 4637

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

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

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

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

C 循环队列实现

一个循环队列的C语言实现,数据类型Queue定义如下,注意在 typedef struct{...}Queue; 中Queue为数据类型,而在struct {...}Queue; 中Queue为一个变...
  • x_i_y_u_e
  • x_i_y_u_e
  • 2015年06月22日 12:10
  • 2036

大二队列的出队和入队分析(链式结构)C语言

大学的课程使用的是C语言 队列是一种特殊的线性表,特殊之处在于它只允许在表的前端(front)进行删除操作,而在表的后端(rear)进行插入操作,和栈一样,队列是一种操作受限制的线性表。进行...
  • mihacker_
  • mihacker_
  • 2015年10月21日 16:06
  • 1398

c语言数据结构中循环队列操作,包括初始化,创建,清空销毁,增添,删除,求队长,遍历等等

数据结构中循环队列的使用
  • wys_NO1
  • wys_NO1
  • 2016年11月02日 19:56
  • 1480

数据结构中循环队列的清空、销毁、求队长、遍历、取首元素等操作及运用

数据结构中队列有好几种形式,本文写的是循环队列,以下为原创代码。创建c++工程: 头文件一:基本定义和头文件 #include"stdlib.h" #include"stdio.h" #def...
  • wys_NO1
  • wys_NO1
  • 2016年11月03日 18:53
  • 2861

C++实现普通队列,循环队列的基本操作(初始化,入队,出队,获取队列首元素等)

队列是一种先进先出(FIFO,First-In-First-Out)的线性表,通常用链表或者数组来实现。队列只能在队尾插入元素,只能在队首删除元素。 队列的一些性质: 1.出队方案唯一 2.队首元素先...
  • liujian20150808
  • liujian20150808
  • 2016年02月26日 21:31
  • 4743
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:C语言实现循环队列基本操作(初始化、判断队空、入队、出队)
举报原因:
原因补充:

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