循环队列的数组实现!!
来源:互联网 发布:mac系统官方下载地址 编辑:程序博客网 时间:2024/05/19 06:35
#include <stdio.h>
#define MAXSIZE 10
typedef struct
{
int data[MAXSIZE];
int front,rear;
}*SeQueue;
int SeQueueInit(SeQueue Q)
{
Q->front=Q->rear=0;
return 1;
}
void SeQueueIn(SeQueue Q,int x)
{
if((Q->rear+1)%MAXSIZE ==Q->front)
{
//差一个 认为是满
printf("IS Full!\n");
exit(0);
}
Q->rear =(Q->rear+1)%MAXSIZE;//计算队尾的长度
Q->data[Q->rear] = x;
}
int SeQueueOut(SeQueue Q)
{
int x;
if(Q->rear == Q->front)
{
printf("is Empty!");
exit(0);
}
Q->front=(Q->front+1)%MAXSIZE;
x=Q->data[Q->front];//读出队列头的元素
return x;
}
//求队列中的元素的个数
int SeQueueLen(SeQueue Q)
{
return(Q->front-Q->rear+MAXSIZE)%MAXSIZE;
}
int SeQueueEmpty(SeQueue Q)
{
if(Q->rear == Q->front)
{
//printf("is Empty!");
//exit(0);
return 1;
}
else
{
return 0;
}
}
int main()
{
SeQueue Q;
int n=7,i,x;
Q=(SeQueue)malloc(sizeof(SeQueue));
SeQueueInit(Q);
//scanf("%d",&n);
for(i=0;i<n;i++)
{
SeQueueIn(Q,(i+1) );
}
while(!SeQueueEmpty(Q))
{
x=SeQueueOut(Q);
SeQueueIn(Q,x);
x=SeQueueOut(Q);
printf("%d",x);
}
}
0 0
- 循环队列的数组实现
- 循环队列的数组实现!!
- 循环数组队列的实现
- 队列的数组实现(循环队列)
- 数组实现循环队列
- 数组实现循环队列
- 循环数组实现队列
- 循环队列--数组实现
- 数组实现循环队列
- 数组实现循环队列
- 数组实现循环队列
- 队列----循环数组实现队列
- 利用循环数组实现的队列
- 用循环数组实现队列的方法
- [数据结构] 队列的循环数组实现
- 无锁队列的实现-循环数组
- 【C++数据结构】数组循环队列的实现
- java队列的循环数组实现
- 单链表的删除
- 单链表的定位操作
- 递归的原理的验证程序!!
- 网络编程一<线程间通信的方法之UNIX域套接字>
- 用堆栈实现括号配对检测的程序
- 循环队列的数组实现!!
- 开灯问题的求解!
- 双链表的学习的操作的实现,带源程…
- 蛇形数组输出的算法--ACM题目
- 【转载】【春节特刊】大小城市双城…
- C++类和结构的区别
- 搜索的学习和调试,包括深度搜索和…
- 图的创建,有向图的创建,利用Prim…
- 【转载】PMOS,NMOS