第九篇:队列的学习(一)用数组和链表实现单向队列
线性表
前面我们学习了链表的相关知识,今天我们接着来学习另外一种数据结构-----》队列。其实,不管是数组还是链表,都是属于线性表,那么什么是线性表呢?线性表是具有相同数据类型的n(n>=0)个数据元素的有限序列。其中n为表长,当n=0时,该线性表是一个空表。若用 L 命名线性表,则其一般表示如下:
L = ( a1 , a2 , a3 , … , a(i) , a( i + 1) , … , a(n) ) 其中,a1 是唯一的 “ 第一个 ” 数据元素,又称为表头元素;a(n) 是唯一的 “ 最后一个 ” 数据元素, 又称为表尾元素。除了第一个元素外,每个元素有且仅有一个直接前驱。除最后一个元素外 ,每个 元素 有且仅有一个直接后继。以上就是线性表的逻辑特性,这种线性表有序的逻辑结构正是线性表 名字的由来。
队列
队列,是一种操作受限,先进先出的的线性表数据结构,其只有入队enqueue和出队dequeue两个操作。我们可以用数组和链表来实现队列。用数组实现的是顺序队列,用链表实现的是链式队列。
数组实现队列的逻辑
队列有两个指针,分别是队头指针head和队尾指针tail。队头的指针指向队列的头部。例如:
我们定义一个大小为6的数组,然后,以及将 a,b,c,d 入队。那么过程变化图如下:
文章来源: feige.blog.csdn.net,作者:码农飞哥,版权归原作者所有,如需转载,请联系作者。
原文链接:feige.blog.csdn.net/article/details/104175387
- 点赞
- 收藏
- 关注作者
评论(0)