赞
踩
只允许在表的一端进行插入,而在另一端进行删除的线性表。
- InitQueue(&Q); 初始化
- QueueEmpty(Q); 队列是否为空
- EnQueue(&Q, x); 若队列未满,入队
- DeQueue(&Q, &x); 若队列非空,出队
- GetHead(Q, &x); 读取队头元素,若队列非空,将队头元素赋值给x
- ClearQueue(&Q); 清空队列,并回收内存
队列的顺序实现是指分配一块连续的储存单元存放队列中的元素,并且提供两个指针front和rear分别指示队头元素和队尾元素的下一个位置。
实现代码:
- #define MaxSize 50
- typedef struct
- {
- int data[MaxSize];
- int front, rear;
- }SqQueue;
-
- 初始状态(队空条件):Q.front == Q.rear == 0
将顺序队列想象成一个环。注意rear是指向的队尾,没有对应元素,入队即将存在这个地方。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。