队列的数组实现
来源:互联网 发布:qq斗地主游戏大厅mac 编辑:程序博客网 时间:2024/05/13 09:49
queue.h
#ifndef QUEUE_H_INCLUDED#define QUEUE_H_INCLUDEDtypedef int ElementType;struct queuerecord;typedef struct queuerecord *Queue;struct queuerecord{ int Capacity; int Front; int Rear; int Size; ElementType *Array;};Queue CreatQueue(int maxelement);int IsEmpty(Queue Q);int IsFull(Queue Q);void Dispose(Queue Q);void MakeEmpty(Queue Q);Queue EnQueue(ElementType X,Queue Q);Queue DeQueue(Queue Q);ElementType Front(Queue Q);#endif // QUEUE_H_INCLUDED
queue.c
#include <stdio.h>#include <stdlib.h>#include "queue.h"Queue CreatQueue(int maxelement){ Queue Q=(Queue)malloc(sizeof(struct queuerecord)); if(Q==NULL) printf("out of space"); Q->Array=(ElementType *)malloc(sizeof(ElementType)); if(Q->Array==NULL) printf("Error:out of space!!!"); Q->Capacity =maxelement; MakeEmpty(Q); return Q;}int IsEmpty(Queue Q){ return Q->Size==0;}int IsFull(Queue Q){ return Q->Size ==Q->Capacity;}void MakeEmpty(Queue Q){ Q->Front=Q->Rear=0; Q->Size=0;}Queue EnQueue(ElementType X,Queue Q){ if(!IsFull(Q)) { Q->Array[Q->Rear++] =X; Q->Size++; } else { printf("error: queue is full!"); } return Q;}Queue DeQueue(Queue Q){ if(!IsEmpty(Q)) { Q->Front++; Q->Size--; } else printf("error: queue is empty!!!"); return Q;}ElementType Front(Queue Q){ if(!IsEmpty(Q)) return Q->Array[Q->Front]; else { printf("Error: queue is empty!!!"); return 0; }}main.c
#include <stdio.h>#include <stdlib.h>#include "queue.c"int main(){ Queue Q=(Queue)malloc(sizeof(struct queuerecord)); int c; Q=CreatQueue(10); while(!IsFull(Q)) { c=getchar(); Q=EnQueue( c ,Q); } while(!IsEmpty(Q)) { printf("%d\t", Front(Q)); Q=DeQueue(Q); } return 0;}
- 队列的数组实现
- 队列的数组实现
- 队列的数组实现
- 队列的数组实现
- 队列的数组实现
- 队列的数组实现
- 数组实现的队列
- 队列的数组实现
- 队列的数组实现
- 队列的数组实现
- 队列的数组实现
- 队列的数组实现
- 数组实现的队列
- 队列的数组实现
- 队列的数组实现
- 队列的数组实现
- 队列的数组实现(循环队列)
- 静态数组实现的队列
- 《C++ Primer》作者Stanley B.Lippman谈C++语言和软件产业的发展
- 有趣的 oAuth2 OpenID Connect
- 什么是JSP引擎?什么是JSP容器?什么是Web服务器?
- EBS系统管理常用SQL语句整理汇总(参考网上资料&其他人博客)
- (08)DBA写给开发的索引经验
- 队列的数组实现
- 数据校验的几种方式
- fzu 1911 Construct a Matrix(矩阵快速幂+规律)
- FORM开发实现动态LOV
- 3、solr的基本操作
- 微软2014笔试
- Working Practice-使用清单记录总结代码审核的问题
- Oracle 创建索引的基本规则总结
- tq2440+fedora安装qt4.5