摘要:本文介绍循环链表和双向链表的一些常用操作的实现。单循环链表的查找操作双向链表的节点描述为双向循环链表的插入操作双向循环链表的删除操作删除第个节点
算法中常常会涉及循环链表和双向链表这些特殊的链表,对于循环链表来说,从表中任意节点出发均可以找到其他节点,对于循环链表来说唯一的区别是循环结束的条件改为是否指向头指针。本文介绍循环链表和双向链表的一些常用操作的Java实现。
1.单循环链表的查找操作
public Lnode get(char x){ Lnode p = h.next; while(p!=null&&p.data!=x) p = p.next; if(p.data = x) return p; else return null; }
2.双向链表的节点描述为:
public class DulNode{ char data; DulNode next; DulNode prior; }
3.双向循环链表的插入操作
public int insert(DulNode h,int i,char x){ DulNode p = h.next; int j=1; while(p!=h&&j4.双向循环链表的删除操作,删除第i个节点p
public char delete(int i){ DulNode p = h.next; int j = 1; if(p!=h&&j
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/68822.html
摘要:实际中更多是作为其他数据结构的子结构,如哈希桶图的邻接表等等。实际中使用的链表数据结构,都是带头双向循环链表。 文章目录 一.算法的时间复杂度和空间复杂度1.算法...
摘要:上一篇数据结构与算法栈队列下一篇数据结构与算法集合字典写在前面说明数据结构与算法系列文章的代码和示例均可在此找到上一篇博客发布以后,仅几天的时间竟然成为了我写博客以来点赞数最多的一篇博客。 上一篇:JS数据结构与算法_栈&队列下一篇:JS数据结构与算法_集合&字典 写在前面 说明:JS数据结构与算法 系列文章的代码和示例均可在此找到 上一篇博客发布以后,仅几天的时间竟然成为了我写博客以...
摘要:类表示要加入链表的项。循环链表和普通链表之间唯一的区别在于,最后一个元素指向下一个元素的指针不是引用,而是指向第一个元素。这里就不进行代码实现了,大家可以结合上面的单向链表和双向链表自己实现一个循环链表。 一、定义 1.1 概念 前面我们学习了数组这种数据结构。数组(或者也可以称为列表)是一种非常简单的存储数据序列的数据结构。在这一节,我们要学习如何实现和使用链表这种动态的数据结构,这...
阅读 1247·2021-09-27 13:35
阅读 2538·2021-09-06 15:12
阅读 3358·2019-08-30 15:55
阅读 2814·2019-08-30 15:43
阅读 382·2019-08-29 16:42
阅读 3394·2019-08-29 15:39
阅读 3043·2019-08-29 12:28
阅读 1216·2019-08-29 11:11