顺序队列基本运算(实验题3.3)
来源:互联网 发布:周立功单片机教程 编辑:程序博客网 时间:2024/06/05 22:06
////顺序队列基本运算//2013-10-14 23:27//#pragma once#define MaxSize 5typedef int ElemType;typedef struct{ElemType elem[MaxSize];int front,rear; //队首和队尾指针}SqQueue;void InitQueue(SqQueue* &q);int enQueue(SqQueue* &q,ElemType e); //进队一个元素int deQueue(SqQueue* &q,ElemType &e); //出队一个元素void ClearQueue(SqQueue* &q);int QueueEmpty(SqQueue* q);int QueueLength(SqQueue* q);void DisQueue(SqQueue* q);
#include "SqQueue.h"#include <malloc.h>#include <stdio.h>void InitQueue( SqQueue* &q ){q = (SqQueue*)malloc(sizeof(SqQueue));q->front = q->rear = 0;}int enQueue( SqQueue* &q,ElemType e ) //进队一个元素 ->front为空{if((q->rear+1)%MaxSize == q->front) //队满{printf("队满\n");return 0;}q->rear = (q->rear+1)%MaxSize;q->elem[q->rear] = e;}int deQueue( SqQueue* &q,ElemType &e ) //出队一个元素{if ( q->front == q->rear) //队空{return 0;}q->front = (q->front+1)%MaxSize;e = q->elem[q->front];}void ClearQueue( SqQueue* &q ){free(q);}int QueueEmpty( SqQueue* q ){return q->front == q->rear;}int QueueLength( SqQueue* q ){return (q->rear - q->front +MaxSize)%MaxSize;}void DisQueue( SqQueue* q ){if (q->front == q->rear){printf("空队/n");}int i = q->front+1;while ( i%MaxSize != q->rear){printf("%d,",q->elem[i%MaxSize]);i++;}printf("%d,",q->elem[i%MaxSize]);printf("\n");}
#include "SqQueue.h"int main(){SqQueue* q;InitQueue(q);enQueue(q,1);DisQueue(q);enQueue(q,2);DisQueue(q);enQueue(q,3);DisQueue(q);enQueue(q,4);DisQueue(q);enQueue(q,5);ElemType data;deQueue(q,data);DisQueue(q);ClearQueue(q);return 0;}
- 顺序队列基本运算(实验题3.3)
- 顺序栈基本运算(实验题3.1)
- 链队列基本运算(实验题3.4)
- 顺序环形队列的各种基本运算
- 实现顺序队列各种基本运算的算法
- 实现顺序队列各种基本运算的算法
- 队列的顺序存储结构及其基本运算的实现
- 顺序队中实现队列的基本运算
- 队列的顺序存储结构及其基本运算的实现
- 顺序队中实现队列的基本运算
- 实验三 顺序队列
- 实验三顺序队列
- 实验之顺序队列
- 实验3.3 栈与队列——顺序队列
- 实验4:栈和队列的基本操作实现及其应用之《顺序队列》
- 实验4:栈和队列的基本操作实现及其应用之《顺序队列》
- 链栈基本运算(实验题3.2)
- 顺序队列基本操作
- 如果有效的Drop一张大表
- 【Android】利用广播Broadcast接收SMS短信
- Java多线程之ScheduledExecutorService
- delete 大表后kill session是否会recover?
- iOS中文件相关
- 顺序队列基本运算(实验题3.3)
- C++输入输出总结
- Codeforces 278C Learning Languages(并查集)
- 浅谈程序猿的职业规划,看你如何决定自己的未来吧。
- js数组的操作
- Cstring与double char 的转换
- 【Android】利用服务Service创建标题栏通知
- MyEclipse6.5+SVN配置与使用
- nginx push模块