码迷,mamicode.com
首页 > 其他好文 > 详细

浅析用链表实现的队列

时间:2019-10-04 20:46:44      阅读:95      评论:0      收藏:0      [点我收藏+]

标签:单链表   不同   head   strong   实现   class   ext   data   null   

队列与栈一样是一种线性集合,队列与栈的不同之处在于,队列需要在两端进行操作,在用链表实现的队列中,需要在表头和表尾进行操作。

 

思考一下,在链表实现的队列中,入队和出队操作在表头和表尾进行有什么差异?(假设链表为单链表,head指向链表头节点,end指向链表尾节点)

 

先考虑入队操作,入队操作在链表头和链表尾进行操作都不会复杂:

newNode.next = head;
head = newNode; 

newNode.next = null;
end.next = newNode;

 

继续考虑出队操作,如果出队操作在链表头进行:

newNode = head;
head = head.next;
return newNode.data

如果出队操作在链表尾进行就比较麻烦了,因为我们需要将链表尾节点的上一个节点的next属性的值修改为null,我们需要遍历链表找到这个节点。

所以使用链表实现队列,最好将链表头作为队列头,将链表尾作为队列尾。

浅析用链表实现的队列

标签:单链表   不同   head   strong   实现   class   ext   data   null   

原文地址:https://www.cnblogs.com/KenBaiCaiDeMiao/p/11622977.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!