一、栈

定义

image.png

二、队列

定义

image.png

队列的顺序存储结构

(1)队列的顺序存储

队列的顺序实现是指 分配一块连续的存储单元存放队列中的元素,并附设两个指针 :

#define MAXSIZE 50
//队列的顺序存储
typedef struct{
		ElemType data[MAXSIZE]; //使用数组存储队列元素
		int front,rear; //设置头、尾指针
}SqQueue;

初始状态:Q.front == Q.rear == 0;

进队操作:队不满时,先送值到队尾元素,再将队尾指针加1。

出队操作:队不空时,先取队头元素值,再将队头指针加1。

图3.6(a)为队列为空的情况,满足Q.front == Q.rear == 0