顺序队列的基本操作
来源:互联网 发布:淘宝官方旗舰店和官网 编辑:程序博客网 时间:2024/04/27 23:15
typedef struct{ DATA data[QUEUEMAX]; int head;//定义队头 int tail;//定义队尾 } SeqQueue;//初始化 SeqQueue *SeqQueueInit(){ SeqQueue *q; if(q = (SeqQueue *)malloc(sizeof(SeqQueue))); { q->head = 0;//设置队头 q->tail = 0;//设置队尾 return 0; } else { return NULL; }} //释放队列void SeqQueueFree(SeqQueue *q){ if(q!=NULL) { free(q); }} //检验队列是否为空int SeqQueueIsEmpty(SeqQueue *q){ return (q->head ==q->tail);}//队列是否已满int SeqQueueIsFull(SeqQueue *q){ return (q->tail==QUEUEMAX);} //获取队列长度int SeqQueueLen(SeqQueue *q){ return (q->tail-q->head);} //顺序队列的入队操作int SeqQueueIn(SeqQueue *q,DATA data){ if(q->tail==QUEUEMAX) { printf("队列已满"); return 0; } else { q->data[q->tail++]=data; return 1; }} //顺序队列的出队DATA *SeqQueueOut(SeqQueue *q){ if(q->head ==q->tail) { printf("队列已空"); return NULL; } else { return &(q->data[q->head++]);//取出队头元素后,将队头指针加一 }} //取出队头元素 DATA *SeqQueuePeek(SeqQueue *q){ if(q->head ==q->tail) { printf("队列已空"); return NULL; } else { return &(q->data[q->head]); }}
0 0
- 顺序队列的基本操作
- 顺序队列的基本操作
- 顺序队列的基本操作;
- 顺序队列的基本操作
- 顺序队列的基本操作
- 顺序队列的基本操作
- 顺序队列的基本操作
- 顺序队列的基本操作
- 顺序队列基本操作
- 顺序队列基本操作
- 顺序队列基本操作
- 顺序队列基本操作
- 顺序队列基本操作
- 顺序队列基本操作
- 顺序队列基本操作
- 顺序队列基本操作
- 顺序队列基本操作
- 顺序队列基本操作
- SQL之操作多个表
- Leetcode House Robber
- 1323110831软一杨晓敏
- android内核剖析-----activity启动流程
- 成都男司机打女司机的事情--中国人到底需不需要人管?以及谁来管的问题
- 顺序队列的基本操作
- Robot Framework中使用HttpLibrary教程and中文支持
- 支持向量机: Kernel
- 文章标题
- Note on <C# 3.0 UNLEASHED With the .NET Framework 3.5> - 01
- jquery 上传图片
- MahoutInAction进程
- Spark(二) -- Spark简单介绍
- 黑马程序员---关于Java中的继承关系例子