脚本宝典收集整理的这篇文章主要介绍了【数据结构】Java语言描述-循环链表和双向链表操作,脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。
算法中常常会涉及循环链表和双向链表这些特殊的链表,对于循环链表来说,从表中任意节点出发均可以找到其他节点,对于循环链表来说唯一的区别是循环结束的条件改为是否指向头指针。本文介绍循环链表和双向链表的一些常用操作的Java实现。@H_360_4@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&&j<i){ j++; p = p.next; } if(j==i){ s = new DulNode(); s.data = x; s.next = p; s.prior = p.prior; p.prior.next = s; p.prior = s; return 1; }else return 0; }
4.双向循环链表的删除操作,删除第i个节点p
public char delete(int i){ DulNode p = h.next; int j = 1; if(p!=h&&j<i){ j++; p = p.next; } if(p!=h){ s = p.data; p.prior.next = p.next; p.next.prior = p.prior; p = null; return s; }else return 0; }
以上是脚本宝典为你收集整理的【数据结构】Java语言描述-循环链表和双向链表操作全部内容,希望文章能够帮你解决【数据结构】Java语言描述-循环链表和双向链表操作所遇到的问题。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。