《大话数据结构》队列的顺序存储和链式存储

本文介绍了数据结构中的队列,包括顺序队列和链式队列的概念及其实现方式。顺序队列使用数组存储,可能出现假溢出问题,通过循环队列解决。链式队列利用链表结构,避免了溢出和扩容问题,实现更简单。文中还对比了两种队列的优缺点。
摘要由CSDN通过智能技术生成

1. 简介

 

   成都的火车南站早上真的恐怖,地铁站人山人海,从地铁里面一直排队到门口,虽然人很多但是不得不说我国人民素质还是蛮高的,都是来了之后排在队伍的最后面,没有一个人去插队。这样不仅避免了人员拥挤的混乱,也让需要乘坐地铁的人可以尽快乘上地铁。

  其实我们的队列就像排队等地铁一样,遵从先来后到,先来的人先上车后来的人后上车,队列则是先插入的数据,先取出去,后来的数据后取出去,先进先出的原则。而且总是从一端进入,另一端出去。

  忽略那些排了队然后不想排的和插队的人。

   顺序队列结构如下。

 

 

   队列也是一种线性表,满足前驱后继,同样可以有顺序队列和链式队列,而顺序队列一般可以使用数组进行实现,那么队头就是下标为0,而队尾则是数组的最后一位(length-1),而链式列表可以使用链表,队头就是第一个结点,而队尾则是最后一个结点。

  了解了队列的基本知识,下面看一下顺序队列基本实现思路,首先我们要定义两个标识一个是队尾,一个是队首,这两个标识就像两个小旗子,队列最前面和最后面的人都拿着一个旗子,好让别人知道现在的队首和队尾究竟是那一个人,如果新增数据首先知道数组的长度是否足够,如果不够则需要代码实现扩容,如果够则在队尾加入数据,同时将指向队尾的标识(小旗子)现在指向新增数据上,而获取数据时首先拿出数据,同时将旗子交给他的下一个数据。

  讲到这儿有同学开始质疑&#x

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值