循环队列
来源:互联网 发布:肯德基麦当劳知乎 编辑:程序博客网 时间:2024/06/06 17:45
#include<stdio.h>#include<malloc.h>#define Maxsize 100typedef int dataType ;typedef struct {dataType data[Maxsize];int front,rear;}Sequeue;//创建队列Sequeue *createQueue(){Sequeue *q = (Sequeue *)malloc(sizeof(Sequeue));q->front = q->rear = 0;return q;} //判断队列是否为空int empty(Sequeue *q){return q->front == q->rear; } //判断队列是否为满int full(Sequeue *q){return (q->rear+1)%Maxsize == q->front;}//元素x进队列void push(Sequeue *q,dataType x){if(full(q)) exit(1);q->data[q->rear] = x;q->rear = (q->rear+1)%Maxsize;} //出队列void pop(Sequeue *q){if(empty(q)) exit(1);q->front = (q->front+1)%Maxsize;}//取队头元素的值dataType front(Sequeue *q){if(empty(q)) exit(1);return q->data[q->front];} //取队尾元素dataType rear(Sequeue *q){if(empty(q)) exit(1);int k = (q->rear-1+Maxsize)%Maxsize;return q->data[k];} //计算队列元素个数int size(Sequeue *q){return (q->rear - q->front + Maxsize)%Maxsize;}int main(){Sequeue *q = createQueue();push(q,2);push(q,10);push(q,5);push(q,4);push(q,6);pop(q);printf("队首元素为:%d,队尾元素为:%d \n",front(q),rear(q));printf("队列元素有%d个 ",size(q));system("color f0");}
阅读全文
1 0
- 循环队列
- 循环队列
- 循环队列
- 循环队列
- 循环队列
- 循环队列
- 循环队列
- 循环队列
- 循环队列
- 循环队列
- 循环队列
- 循环队列
- 循环队列
- 循环队列
- 循环队列
- 循环队列
- 循环队列
- 循环队列
- 学习笔记:Java 分类枚举和策略枚举(枚举的嵌套)
- delphi 开发二维码。
- Retrofit 请求网络数据 并适配到 ListView
- 要求循环录入2个班的学员成绩,假设每个班都有3个学员, 依次录入,统计超过90分的学员人数,以及这批超过90分的学员平均分。
- Oil Skimming HDU
- 循环队列
- UVA 1048 Low Cost Air Travel
- python中容易误解的小问题和函数中的参数
- 数据结构期中反思
- HDU2057ac代码(改题目要求输出都为大写字母,必须做个转换,类比十进制)
- 主键 外键 索引
- ACdream
- 九九乘法表类型二
- 求出1-100之间既能被3整除又能被5整除的 (且要求跳过能够被10整除的数)所有数之和。 补充说明:比如30,既能被3整除又能被5整除, // 但是能够被10整除,所以30不