顺序队
来源:互联网 发布:1936奥运会知乎 编辑:程序博客网 时间:2024/05/17 08:27
队列是只允许在表的一端进行插入(队尾),在另一端进行删除(对头)的运算受限的线性表。
#include <stdio.h>
#define QUEUESIZE 100//队列的最大容量
typedefchar DataType;//保存的数据类型。
typedef struct
{
int nFront;//头指针,指向队头元素。
int nRear;//尾指针,指向队尾元素的下一个位置
int nCount;//计数器。
DataType data [QUEUESIZE];
}CirQueue;
void InitQueue(CirQueue *Q);
int QueueFull(CirQueue *Q);
void EnQueue(CirQueue *Q ,DataType x);
int QueEmpty(CirQueue *Q);
DataType *DeQueue(CirQueue *Q);
int main(int argc,constchar * argv[])
{
CirQueue queue;
InitQueue(&queue);
QueEmpty(&queue);
return0;
}
void InitQueue(CirQueue *Q)//初始化队
{
Q->nFront=0;
Q->nRear=0;
Q->nCount=0;
}
int QueEmpty(CirQueue *Q)//判断队空。
{
return Q->nCount==0;
}
int QueueFull(CirQueue *Q)//判断队满。
{
return Q->nCount==QUEUESIZE;
}
void EnQueue(CirQueue *Q ,DataType x)//进队。
{
if (QueueFull(Q))
{
printf("队已满");
return;
}
Q->nCount++;
Q->data[Q->nRear]=x;
Q->nRear=(Q->nRear+1)%QUEUESIZE;
}
DataType *DeQueue(CirQueue *Q)
{
if (QueEmpty(Q))
{
printf("队为空!");
returnNULL;
}
staticDataType temp;
temp=Q->data[Q->nFront];
Q->nCount--;
Q->nFront=(Q->nFront+1)%QUEUESIZE;
return &temp;
}
DataType Quefront(CirQueue *Q)
{
return Q->data[Q->nFront];
}
- 顺序队
- 顺序队
- 顺序队
- 队的顺序实现
- 转:顺序队
- 顺序队实现
- 顺序
- 顺序
- 顺序栈、链栈、顺序队和链队小结
- 约瑟夫环:出队顺序
- 数据结构——顺序队
- 数据结构C语言顺序队
- 链表,顺序表,链队,链栈,顺序队,顺序栈,二叉树的基本操作函数
- 顺序队列的创建、入队、出队
- 数据结构-循环顺序队(C语言)
- 队列之顺序队基本操作
- 数据结构学习心得——顺序队和链队
- 顺序队中实现队列的基本运算
- textview中字显示不全用"。。。"代替
- ※数据结构※→☆非线性结构(tree)☆============二叉树结点 顺序存储结构(tree node binary sequence)(十八)
- Boost预报——通用几何库(GGL)
- linux内存管理
- eclipse 实用技巧
- 顺序队
- Ehcache缓存配置
- cortex-M4的trace功能
- Boost的动态多维数组-multi_array
- AML8726调试记录
- 在创建database link时,后面多个后缀REGRESS.RDBMS.DEV.US.ORACLE.COM
- 移植android ndk c++各种兼容性问题
- IC业界名词解释
- grub使用说明