网站大量收购独家精品文档,联系QQ:2885784924

《数据结构(Java版)(第二版)(叶核亚主编)源码_linearList》.doc

《数据结构(Java版)(第二版)(叶核亚主编)源码_linearList》.doc

  1. 1、本文档共37页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
《数据结构(Java版)(第二版)(叶核亚主编)源码_linearList》.doc

//带头结点的循环双链表类 import dataStructure.linearList.DLinkNode; //导入双链表结点类 import dataStructure.linearList.LList; //导入线性表接口 public class CHDoublyLinkedListE implements LListE//带头结点的循环双链表类 { protected DLinkNodeE head; //头指针 public CHDoublyLinkedList() //构造空链表 { this.head = new DLinkNodeE(); //创建头结点,值为null this.head.prev = head; this.head.next = head; } public boolean isEmpty() //判断双链表是否为空 { return head.next==head; } //以下算法同循环单链表,与单链表的差别在于,循环条件不同 public int length() //返回双链表长度 { int i=0; DLinkNodeE p=this.head.next; //此句与单链表不同 while (p!=head) //循环条件与单链表不同 { i++; p = p.next; } return i; } public E get(int index) //返回序号为index的对象 { if (index=0) { int j=0; DLinkNodeE p=this.head.next; while (p!=head jindex) { j++; p=p.next; } if (p!=head) return (E)p.data; } return null; } public E set(int index, E element) //设置index序号对象为element { if (index=0 element!=null) { int j=0; DLinkNodeE p=this.head.next; while (p!=head jindex) { j++; p=p.next; } if (p!=head) { E old = (E)p.data; p.data = element; return old; } } return null; } public String toString() { String str=(; DLinkNodeE p = this.head.next; while (p!=head) { str += p.data.toString(); p = p.next; if (p!=head) str += , ; } return str+); } //双链表的插入、删除算法与单链表不同 public boolean add(int index, E element) //插入element对象,插入后对象序号为index {

文档评论(0)

mwap + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档