本文章适合C语言队列的初学者,下面说一下我对队列的初步理解。
1.队列含义:
队列是一种操作受限的线性表,其限制条件为允许在表的一端进行插入,而在表的另一端进行删除。插入的一端叫做队尾,删除的一端叫做队头。向队列中插入新元素的行为称为进队,从队列中删除元素的行为称为出队。进而就有一系列的队列的入队出队 。
举个例子:军训的时候,都排成一列,有头有尾。假设你迟到了,只能站到最后面一个,退场的时候,都是由第一个先走的。迟到相当于对垒的入队,退场相当于队列出队。
2.队列的特点:
1.先进先出,后进后出
2.队列的头和尾相等表示队列为空
3.队列的头和尾相差N-1 表示队列为满
下面盗用一张图片(frout表示对头,rear表示队尾)
3.下面介绍队列的入队出队
队列的结构体的定义
typedef struct
{
int data[N] ;
int front,rear;
}sequeue_t ;
创建一个空队列
sequeue_t * create_empty_sequeue(void)
{
sequeue_t * s = (sequeue_t*) malloc(sizeof(sequeue_t) ) ;