数据结构——队列

一、队列概念及特征

1、队列概念
队列是限制在两端进行插入操作和删除操作的线性表,允许进行存入操作的一端称为“队尾”,允许进行删除操作的一端称为“队头”。当线性表中没有元素时,称为“空队”。特点:先进先出(FIFO)。
2、队列的特征
特殊的线性表,先进先出(FIFO)。
a、数据:
对于非空的队列,表头没有直接前驱,表尾没有直接后继,其它有且仅有一个直接前驱和一个直接后继。
b、操作:
只允许在表尾插入数据,在表头删除数据。

二、顺序队列

1、队列的顺序存储
typedef int datatype ;              /*定义队列中数据元素的数据类型*/
#define MAXSIZE 64               /*定义队列的容量*/
typedef struct
{ datatype data[MAXSIZE] ;    /*用数组作为队列的储存空间*/
int front,rear ;                        /*指示队头位置和队尾位置的指针*/
} sequeue ;                            /*顺序队列类型定义*/
sequeue *sq ;                         /*定义指向顺序队列的指针*/

三、链式队列

1、队列的链式存储
typedef int datatype ;              /*定义链队列中数据元素的数据类型*/
typedef struct node
{datatype data ;                      /*数据域*/
struct node *next ;                  /*链接指针域*/
} linklist ;                               /*链表元素类型定义*/
typedef struct
{linklist *front , *rear ;            /*链队列指针*/
} linqueue ;                            /*链队列类型定义*/
linkqueue *q ;                         /*定义指向链队列的指针*/

原文地址:https://www.cnblogs.com/sanwumanzi/p/10559435.html