各位看官们,大家好,上一回中咱们说的是队列及其特点,并且通过例子来说明队列,这一回咱们继续说
队列,不过咱们说的是链式存储形式的队列,这与上一回中顺序存储形式的队列不一样。闲话休提,言归
正转。让我们一起talk C栗子吧!
在代码中通过链表来实现队列的链式存储。而且定义了一个头结点,头结点主要用来保存队列的头部和尾
部信息,以及队列的长度信息。我们对队列的操作,本质上是对链表进行操作,队列中的结点可以看作是
链表中的结点,对队列进行入列(EnQueue)和出列(DeQueue)的操作,可以看作是在链表中进行插入
或者删除结点操作。只不过插入或者删除时要遵循队列“先进先出"的特点。
队列的链式存储与队列的顺序存储相比,最大的优点就是不需要事先知道队列的长度,也正是因为这点原
因,在实际的程序中,使用较多的是通过链式存储实现的队列。此外,它比顺序存储方式实现的队列要灵
活一些,比如入列和出列的操作也很方便。它的空间利用率比顺序存储方式实现的队列要高很多。试想一
下,一个长度为10的顺序容器(程序中是数组),只用来存放长度为3的队列,明显浪费了容器中7个存储
空间。还有就是如果队列的长度超过顺序容器的长度时,还需要重新调整顺序容器的长度,不然它会因为
长度不足,没有空间来存放整个队列。
看官们,正文中就不写代码了,详细的代码放到了我的资源中,大家可以点击这里下载使用。
各位看官,关于队列的例子咱们就说到这里。欲知后面还有什么例子,且听下回分解。
版权声明:本文为博主原创文章,未经博主允许不得转载。
时间: 2024-10-14 12:53:48