队列的顺序存储和实现

来源:互联网 发布:java实例教程pdf 编辑:程序博客网 时间:2024/05/17 01:33

头文件:函数的声明

#include <stdio.h>#include <stdlib.h>#include <malloc.h>#define QUEUESIZE 100typedef char ElemType;typedef struct{ElemType queue[QUEUESIZE];int front;int rear;}SeqQueue;void InitQueue(SeqQueue *SQ);int QueueEmpty(SeqQueue SQ);int EnQueue(SeqQueue *SQ,ElemType e);int DeQueue(SeqQueue *SQ,ElemType *e);int Gethead(SeqQueue SQ,ElemType *e);void ClearQueue(SeqQueue *SQ);

函数的定义

#include "顺序队.h"void InitQueue(SeqQueue *SQ){SQ->front = SQ->rear  = 0;}int QueueEmpty(SeqQueue SQ){if(SQ.front == SQ.rear){return 1;}else{return 0;}}int EnQueue(SeqQueue *SQ,ElemType e){if(SQ->rear == QUEUESIZE){return 0;}else{SQ->queue[SQ->rear] = e;SQ->rear = SQ->rear + 1;return 1;}}int DeQueue(SeqQueue *SQ,ElemType *e){if(SQ->front == SQ->rear){return 0;}else{*e = SQ->queue[SQ->front];SQ->front = SQ->front + 1;return 1;}}int Gethead(SeqQueue SQ,ElemType *e){<span style="white-space:pre"></span>if(SQ.front == SQ.rear)<span style="white-space:pre"></span>{<span style="white-space:pre"></span>return 0;<span style="white-space:pre"></span>}<span style="white-space:pre"></span>else<span style="white-space:pre"></span>{<span style="white-space:pre"></span>*e = SQ.queue[SQ.front];<span style="white-space:pre"></span>return 1;<span style="white-space:pre"></span>}}void ClearQueue(SeqQueue *SQ){SQ->front = SQ->rear  = 0;}


0 0
原创粉丝点击