今天小编为大家整理了数据结构之队列重点内容,大家在备考过程中可以用来参考,帮助大家提高备考效率,下面我们来介绍下数据结构中队列的重点内容:
队列的定义和性质
队列(Queue)一种先进先出(First In First Out ,简称FIFO)的线性表,即只允许在表的一端进行插入,而在另一端进行删除;所以,队列也是一种运算受限的线性表。
队列的性质就一个,很重要的一个:先进先出。为了实现先进先出实现,我们要设置两个属于,第一个是队首即允许进行删除的一端,一般用front表示(哎,就知道装13,这不就是首部的英文嘛),第二个是队尾即允许进行插入的一端,一般用rear表示。
队列有两种最基本的操作,第一个是出队,也就是删除队首元素;第二个是入队,也就是在队尾插入新元素。
顺序队列和循环队列
u 我们约定入队前,测试尾指针在循环意义下加1后是否等于头指针,若相等则认为队满。于是乎,循环队里的性质是:ront指针指向队首元素
u rear所指的单元始终为空。
u 循环队列为空:front==rear 。
u 循环队列满:(rear+1) % MAX_QUEUE_SIZE ==front。
u 入队操作:rear = (rear + 1) % MAX_QUEUE_SIZE
u 出队操作:front = (front + 1) % MAX_QUEUE_SIZE
队列中元素个数是:len = (rear – front + MAX_QUEUE_SIZE)% MAX_QUEUE_SIZE
链队列
头出尾插”的单链表,即仅在表头进行删除操作和表尾进行插入操作的单链表。
设置头指针front和尾指针rear;
(1)插入时:尾插法,且遵循尾改,头不改
(2)删除时:头插法,且遵循尾改,头不改;但是当删除最后一个元素时,首尾都要改。
双端队列
按照双端队列的性质,可以分为两种:
第一种是输入受限的双端队列。也就是可以从队列的两端进行输出,但是只允许一端进行插入。如图所示,
以上就是数据结构中队列的重点内容介绍,大家在备考过程中遇到问题,可以联系启航教育的老师为大家答疑解惑,预祝大家顺利上岸
【26考研辅导课程推荐】:26考研集训课程,VIP领学计划,26考研VIP全科定制套餐(公共课VIP+专业课1对1) , 这些课程中都会配有内部讲义以及辅导书和资料,同时会有教研教辅双师模式对大家进行教学以及督学,并配有24小时答疑和模拟测试等,可直接咨询在线客服老师领取大额优惠券。
热门下载
资料下载
院校解析
真题解析
考研数学
考研英语
考研政治
考研备考