博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
队列之数组实现
阅读量:5129 次
发布时间:2019-06-13

本文共 1358 字,大约阅读时间需要 4 分钟。

#include
using namespace std;struct Queue{ int maxCnt; int* elements; int front,rear;};Queue* createQueue(int max=7){ Queue* queue = (Queue*)malloc(sizeof(Queue)); queue->front=0; queue->rear=0; queue->maxCnt=max+1;//预留一个空间来预防假溢出的情况 queue->elements = new int[ queue->maxCnt]; return queue;}bool isFull(Queue* queue){ return ((queue->rear+1)%queue->maxCnt)==queue->front;}bool isEmpty(Queue* queue){ return queue->rear==queue->front;} bool InQueue(Queue* queue,int value){ if(isFull(queue)) return 0; queue->elements[queue->rear++]=value; queue->rear%=queue->maxCnt; return 1;}bool DeQueue(Queue* queue,int* ans){ if(isEmpty(queue)) return 0; *ans = queue->elements[queue->front++]; queue->front%=queue->maxCnt; return 1;}bool front(Queue* queue,int* ans){ if(isEmpty(queue)) return 0; *ans = queue->elements[queue->front]; return 1;}void clearQueue(Queue* queue){ int x; while(!isEmpty(queue)) { DeQueue(queue,&x); cout<
<<" "; } cout<
front; int ed = queue->rear; while(st!=ed) { cout<
elements[st]<<" "; st++; st%=queue->maxCnt; } cout<
>len;}

 

转载于:https://www.cnblogs.com/kbyd/p/3991674.html

你可能感兴趣的文章
DrawerLayout实现双向侧滑
查看>>
MySQL入门很简单-触发器
查看>>
LVM快照(snapshot)备份
查看>>
绝望的第四周作业
查看>>
一月流水账
查看>>
数论四大定理
查看>>
npm 常用指令
查看>>
C#基础知识面试经典[整理]
查看>>
20几个正则常用正则表达式
查看>>
TextArea中定位光标位置
查看>>
非常棒的Visual Studo调试插件:OzCode 2.0 下载地址
查看>>
判断字符串在字符串中
查看>>
hdu4374One hundred layer (DP+单调队列)
查看>>
类间关系总结
查看>>
properties配置文件读写,追加
查看>>
Linux环境下MySql安装和常见问题的解决
查看>>
lrzsz——一款好用的文件互传工具
查看>>
ZPL语言完成条形码的打印
查看>>
这20件事千万不要对自己做!
查看>>
Linux环境下Redis安装和常见问题的解决
查看>>