队列(一)循环队列的线性存储
来源:互联网 发布:c语言disc是什么意思 编辑:程序博客网 时间:2024/06/08 09:10
#include<stdio.h>#define false 0#define ok 1#define maxsize 5//定义一个队列结构typedef struct sqqueue{ int data[maxsize]; int front,rear;}sqqueue;//建立一个空队列void initqueue(sqqueue *l){ l->front = 0; l->rear = 0;}//向队列插入元素int inqueue(sqqueue *l, int e){ if ((l->rear + 1) % maxsize == l->front) return false; l->data[l->rear] = e; l->rear = (l->rear + 1) % maxsize; return ok;}//从队列出元素int outqueue(sqqueue *l, int *e){ if (l->rear == l->front) return false; *e = l->data[l->front]; l->front=(l->front + 1) % maxsize; return ok;}//查看队列所有元素void seequeue(sqqueue l){ while (l.rear!= l.front) { printf("%4d", l.data[l.front]); l.front = (l.front + 1) % maxsize; }}int main(void){ int i,a=0; sqqueue s; initqueue(&s); for(i=1;i<maxsize;i++) inqueue(&s, i); seequeue(s); for (i = 1; i < maxsize - 1; i++) { outqueue(&s, &a); printf("a=%d", a); } inqueue(&s, 5); inqueue(&s, 6); seequeue(s); return 0;}
队列由数据,头,尾组成,循环队列节省了空间。
循环队列空:front==rear
循环队列满:(rear+1)%maxsize==front
0 0
- 队列(一)循环队列的线性存储
- 队列的线性存储
- 线性表-顺序队列(循环队列)
- 队列的线性存储结构
- 数据结构:队列的顺序存储结构(循环队列)
- 数据结构:队列的顺序存储结构(循环队列)
- 队列的顺序存储结构---循环队列
- 队列的顺序存储结构(循环队列)
- (一)循环队列
- 循环队列的顺序存储
- 循环队列的顺序存储
- 线性结构 循环队列
- 【数据结构】线性循环队列
- 循环队列的操作(循环队列)
- 线性表----循环队列(顺序表示)的基本操作
- c语言循环线性队列的实现
- 线性表-循环队列的表示
- c 队列线性存储
- Java面向对象(一)
- GCD介绍: 基本概念和Dispatch Queue
- 文字检测与识别资源
- iOS跳转到系统设置wifi界面
- FTP文件传输协议两种模式-主动模式和被动模式
- 队列(一)循环队列的线性存储
- Linux前台和后台任务的切换
- 【51单片机】童年回忆,咬手鲨鱼改装闹钟
- 【C】VC++ 6.0经典C语言学习小工具的使用
- 360杀死了mysql服务和tomcat
- java基础学习集合之Set 九-6
- c/c++ char*、char[]
- [LeetCode]258. Add Digits
- NSOperationQueue(三)