数据结构---队列
来源:互联网 发布:直通车卡首屏软件 编辑:程序博客网 时间:2024/05/02 04:18
#include <malloc.h>
#define OK 1
#define ERROR 0
#define OVERFLOW -2
#define MAXQSIZE 20
typedef int QElemType;
typedef struct SqQueue
...{
QElemType *base;
int front;
int rear;
}SqQueue;
//初始化
int InitQueue(SqQueue *Q)
...{
Q->base=(QElemType *)malloc(sizeof(QElemType)*MAXQSIZE);
if(!Q->base)
return OVERFLOW;
Q->front=Q->rear=0;
return OK;
}
//进队列
int EnQueue(SqQueue *Q,QElemType e)
...{
if((Q->rear+1)%MAXQSIZE==Q->front)
return ERROR;
Q->base[Q->rear]=e;
Q->rear=(Q->rear+1)%MAXQSIZE;
return OK;
}
//出队列
int DeQueue(SqQueue *Q,QElemType *e)
...{
if(Q->front==Q->rear)
return ERROR;
*e=Q->base[Q->front];
Q->front=(Q->front+1)%MAXQSIZE;
return OK;
}
//置空
int QueueEmpty(SqQueue Q)
...{
if(Q.front==Q.rear)
return 1;
return 0;
}
#define OK 1
#define ERROR 0
#define OVERFLOW -2
#define MAXQSIZE 20
typedef int QElemType;
typedef struct SqQueue
...{
QElemType *base;
int front;
int rear;
}SqQueue;
//初始化
int InitQueue(SqQueue *Q)
...{
Q->base=(QElemType *)malloc(sizeof(QElemType)*MAXQSIZE);
if(!Q->base)
return OVERFLOW;
Q->front=Q->rear=0;
return OK;
}
//进队列
int EnQueue(SqQueue *Q,QElemType e)
...{
if((Q->rear+1)%MAXQSIZE==Q->front)
return ERROR;
Q->base[Q->rear]=e;
Q->rear=(Q->rear+1)%MAXQSIZE;
return OK;
}
//出队列
int DeQueue(SqQueue *Q,QElemType *e)
...{
if(Q->front==Q->rear)
return ERROR;
*e=Q->base[Q->front];
Q->front=(Q->front+1)%MAXQSIZE;
return OK;
}
//置空
int QueueEmpty(SqQueue Q)
...{
if(Q.front==Q.rear)
return 1;
return 0;
}
原文:http://blog.csdn.net/arrowcat/archive/2008/04/02/2244307.aspx
- 数据结构---队列
- 数据结构--队列
- 数据结构队列
- 数据结构---队列
- 数据结构(队列)
- 数据结构-队列
- 数据结构---->队列
- 数据结构---队列
- 【数据结构】队列
- 数据结构--队列
- 【数据结构】 队列
- 数据结构 -- 队列
- 数据结构--队列
- 数据结构:队列
- 数据结构 队列
- 数据结构----队列
- 数据结构----队列
- 数据结构-队列
- 如何在windows程序中读取bios内容
- 数据结构---栈
- margin属性的四个方向的顺序
- 关于主对话框数据于子对话框数据的交换
- kbox1.03版
- 数据结构---队列
- 搜索spider对二叉查找树查找实验(中文翻译)
- 数据结构---字符串
- VS2005的复制网站功能
- 第三方控件个人理解
- NSIS常见问题集锦
- 爬虫/蜘蛛程序的制作(C#语言)(备忘录)
- 数据结构---数组
- ♀o︶随︶o♀