文档详情

数据结构_第1章 链表.ppt

发布:2017-12-16约1.29千字共33页下载文档
文本预览下载声明
数据结构;第一章;学习本科目的目的和意义(WHY): 掌握几种计算机语言是难以应付众多复杂的课题的。要想有效地使用计算机,还必须学习数据结构的有关知识 本科目在课程体系中地位 加强大家的编写效率高的程序 ;科目目标: 掌握链表和堆栈 了解队列和查找 了解二叉树 了解排序 科目重难点章节: 链表和堆栈 队列和二叉树 ;课程目标;本章的体验项目——大鱼吃小鱼;1.1链表的概念 ; 在本章中,我们将看到一种新的数据存储结构,它可以解决上面的一些问题,这种数据存储结构就是链表。 ;1.1.1节点 ; 下面的Node类定义了一个节点。它包含了一些数据和对下一个节点的引用 ; 这种类定义有时叫做“自引用”式,因为它包含了一个和自己类型相同的字段(本例中叫做next)。节点中仅包含两个数据项:一个int 类型的数据,一个 double 类型的数据。 在一个真正的应用程序中,可能包含更多的数据项。 例如,一条个人纪录可能有名字、地址、社会保险好、头衔、工资和其他许多字段。 通常,用一个包含这些数据的类的对象来代替这些数据项:;class Node { public Person person; public Node next; } class Person { public name; public age; public sex; } ;1.1.2链表的基本运算 ;1.2 链表的操作 ;1.2.2插入节点 ;插入节点的步骤;1.2.3删除节点 ;删除节点的原理;public boolean delNode(String nodeName) { Node p=head; if(!p.hasNext()) { System.out.println(此表为空); return false; } while(p.hasNext()) { if(p.getNext().getName().equals(nodeName)) { p.setNext(p.getNext().getNext()); break; } p=p.getNext(); } return true; };在链表中做删除操作的优缺点;1.2.4按序号查找 ;Node node=head; int i=0; System.out.println(--------开始遍历--------); while(node!=null) { if(i= =2) { System.out.println(“被查找的节点为:+node.getName()); break; } i++; node=node.getNext(); } ;1.2.5定位 ;1.3其他链表 ;1.3.1循环链表 ;1.3.2双链表 ; 所有节点通过前趋引用和后继引用链接在一起,再加上起标识作用的头节点,就得到双向循环链表,简称双链表 ;双链表删除节点 ;双链表插入节点; 拓展 ;链表的遍历 ;LinkedList中常???的方法 ;小结
显示全部
相似文档