队列:先进先出FIFO
数据模型:
struct queue
{
数据容器[队列长度];
rear;//队尾
front;//队头
};
功能:
1、初始化initQueue()
2、进队 EnQueue()
3、出队 DeQueue()
4、判断队为空 isEmpty()
5、判断队为满 isFull()
6、判断队列长度 QueueLenth()
7、清空队列 ClearQueue()
假满:由于通过rear指向尾处来进行判断是否为满,一当有队头元素出队时,队列不再为满。
if(rear==MAXSIZE-1) 满
if(front==rear) 空
解决方法:循环队列
核心:满:(rear+1)%MAXSIZE==front
空:front==rear
队长:(rear-fornt+MAXSIZE)%MAXSIZE
嵌套结构体
大体与构体相似,并需要嵌套调用
struct a
{
d...
};
struct b
{
struct a c
...
};
b.c.d
数据模型:
struct queue
{
数据容器[队列长度];
rear;//队尾
front;//队头
};
功能:
1、初始化initQueue()
2、进队 EnQueue()
3、出队 DeQueue()
4、判断队为空 isEmpty()
5、判断队为满 isFull()
6、判断队列长度 QueueLenth()
7、清空队列 ClearQueue()
假满:由于通过rear指向尾处来进行判断是否为满,一当有队头元素出队时,队列不再为满。
if(rear==MAXSIZE-1) 满
if(front==rear) 空
解决方法:循环队列
核心:满:(rear+1)%MAXSIZE==front
空:front==rear
队长:(rear-fornt+MAXSIZE)%MAXSIZE
嵌套结构体
大体与构体相似,并需要嵌套调用
struct a
{
d...
};
struct b
{
struct a c
...
};
b.c.d