队列可以用链表实现吗

 我来答
高启强聊情感
高粉答主

2022-11-21 · 关注我不会让你失望
知道大有可为答主
回答量:5789
采纳率:100%
帮助的人:146万
展开全部

队列也可以用顺序表和链表的结构实现,但是由于需要进行一端插入一端删除的操作,如果使用数组的结构,在顺序表头上出数据,需要移动n-1个数据,时间复杂度为O(n),效率会比较低。因此使用链表的结构实现更优一些。

链表对头部进行操作时间复杂度为O(1),对尾部操作则需要进行‘找尾’操作遍历链表,时间复杂度为O(n)。那么如何在队列实现中提高效率呢?下面我们介绍队列实现的结构。

队列的链表表现形式:

第一种定义方法:

struct Node{ int data; //数据域 Node *front; //头 Node *rear; //尾 Node *next; //下一个}。

第二种定义方法:

struct Node{ int data; //数据域 Node *next; //下一个};struct List{ Node *front; //尾 Node *rear; //头}。

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式