Java常见数据结构实现 清华的东方.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Java常见数据结构实现 清华的东方

Java规定 当 pareTo(b) 时,称二者相等 pare(s2) 时,称a大于b pare(s2) 时,称a小于b. 然后用带Comparator参数的构造方法 TreeSet(Comparator c); 创建一个树集,通过参数c规定树集的节点按怎样的顺序排列,如下所示 TreeSet mytree=new TreeSet(new Comparator() {public int compare(Object a,Object b) {Student stu1=(Student)a; Student stu2=(Student)b; return pareTo(stu2); }}); 注 Comparator 是java.util 包中的一个接口,compare 是接口中的方法,因此必须给出方法体. 注 树集中不容许出现大小相等的两个节点,例如,在上述例子中如果再添加语句 st5=new Student(76,keng wenyi); mytree.add(st5); 是无效的.如果允许成绩相同,可把上述例子中Student 类中的compareTo 方法更改为 public int compareTo(Object b) { Student st=(Student)b; if((this.english-st.English)==0) return 1; else return (this.english-st.english); } 注 理论上已经知道,把一个元素插入树集的合适位置要比插入数组或链表中的合适位置效率高. TreeSet类的一些常用方法 public boolean add(Object o) 向树集添加加节点,添加成功返回true,否则返回false. public void clear() 删除所有的节点. public void contains(Object o) 如果包含节点o返回true . public Object first() 返回根节点,即第一个节点 最小的节点 . public Object last() 返回最后一个节点 最大的节点 . public isEmpty() 判断是否是空树集,如果树集不含节点返回true . public boolean remove(Object o) 删除节点o. public int size() 返回节点数目. 常见数据结构的Java实现 我们在编写程序时经常要和各种数据打交道,为处理这些数据所选的数据结构对于我们的程序的运行效率是非常重要的.这章讲述几种常见的数据结构的Java 实现. 在学习数据结构这门课程的时候,人们要用具体的算法去实现相应的数据结构,例如,为了实现链表这种数据结构,需要实现往链表中插入节点或从链表中删除节点的算法,感觉有些烦琐. 在jdk1.2 之后,Java 提供了实现常见数据结构的类,创建链表等数据结构和创建数组一样简单,不再需要你去写具体的算法.我们主要讲述这些类的用法,但对这些数据结构的原理的掌握对于我们熟练地用好这些类还是很有帮助的. 26.1链表 如果需要处理一些类型相同的数据,人们习惯上使用数组这种数据结构,但数组在使用之前必须定义大小,而且不能动态定义大小.有时可能给数组分配了太多的单元而浪费了宝贵的内存资源,糟糕的一方面是,程序运行时需要处理的数据可能多于数组的单元.当需要动态地减少或增加数据项时,可以使用链表这种数据结构. 链表是由若干个称作节点的对象组成的一种数据结构,每个节点含有一个数据和下一个节点对象的引用(单链表 ),或含有一个数据并含有上一个节点对象的引用和下一个节点对象的引用(双链表) . 1 .创建链表 使用java.util 包中的LinkedList类创建一个链表.例如, LinkedList mylist=new LinkedList(); 创建了一个空链表.然后mylist链表可以使用add()方法向这个链表依次增加节点.例如 mylist.add(“It”);mylist.add(“is”); mylist.add(“a”);mylist.add(“door”); mylist可以使用方法 public Object get(index i)获取第i个节点中存储的数据. 存放在节点中的数据都被看作是一个Object 对象. import java.util.*; public class LinkListOne{ public static void main(String args[]){ LinkedList mylist=new LinkedList();

文档评论(0)

baoyue + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档