数据结构——队列
Posted sanwumanzi
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了数据结构——队列相关的知识,希望对你有一定的参考价值。
一、队列概念及特征
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 ; /*定义指向链队列的指针*/
以上是关于数据结构——队列的主要内容,如果未能解决你的问题,请参考以下文章