




已阅读5页,还剩20页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
叶核亚 数据结构(Java版) (第2版) 第2章 线性表 2.1 线性表的抽象数据类型 2.2 线性表的顺序表示和实现 2.3 线性表的链式表示和实现 目的:实现线性表抽象数据类型。 要求:掌握两种存储结构实现线性表。 重点:顺序表类,单链表类。 难点:单链表,双链表。 数据结构(Java版)(第2版) 2.1 线性表的抽象数据类型 LinearList=(a0,a1,an1) public interface LList /线性表接口 boolean isEmpty(); /判断线性表是否为空 int length(); /返回线性表长度 E get(int index); /返回序号为index的对象 E set(int index, E element);/设置序号为index对象为 boolean add(int index, E element); / 在index处插入element对象 boolean add(E element); /在顺序表最后插入element对象 E remove(int index); /移去序号为index的对象并返回 void clear(); /清空线性表 2.2 线性表的顺序表示和实现 线性表的顺序存储结构 2. 顺序表的插入和删除操作 public class SeqList implements LList /顺序表类,实现线性表接口 private Object table; /对象数组,私有成员 private int n; /顺序表长度 顺序表操作的效率分析 如果在各位置插入元素的概率相同,则有 3. 顺序表类 【例2.1】 使用顺序表类求解约瑟夫环问题。 2.3 线性表的链式表示和实现 n2.3.1 线性表的链式存储结构 n2.3.2 单链表 n2.3.3 双链表 2.3.1 线性表的链式存储结构 单链表结点类 public class Node /单链表结点类 public E data; /数据域,保存数据 元素 public Node next; /地址域,引用后继 结点 Node p,q; p=new Node(“A“); q=new Node(“B“); p.next=q; 2.3.2 单链表 2. 单链表的遍历操作 Node p = head; while (p!=null) 访问p结点; p = p.next; 3. 单链表的插入操作 4. 单链表的删除操作 头删除 head = head.next; 中间/尾删除 if (p.next!=null) p.next = p.next.next; 5. 单链表类 public class SinglyLinkedList implements LList /单链表类,实现线性表接口 protected Node head; /头指针 public SinglyLinkedList() /构造空单链表 this.head = null; (P59) 单链表操作的效率分析 【例2.2】 采用单链表求解约瑟夫环问题。 7. 单链表是递归结构 public String toString() return “(“ + this.toString(this.head) + “)“; public String toString(Node p) /递归算法 if (p!=null) return p.data.toString() + “, “ + this.toString(p.next); return “; 【例2.3】 单链表逆转。 8. 带头结点的单链表 【例2.4】 建立排序的单链表。 9. 循环单链表 2.3.3 双链表 双链表结构 p = p.next.prev = p.prev.next 2.双链表的插入和删除操作 (1) 插入 q = new DLinkNode(x); q.prev = p.prev; q.next = p; p.prev.next = q; p.prev = q; (2)删除 p.prev.next = p.next; if (p.next!=null) (p.next).prev = p.prev; 3. 循环双链表 4. 双链表类 public class DLinkNode /双链表结点类 public E data; /数据元素 public DLinkNode prev, next;
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 房地产守价议价及SP配合培训
- 风电技能培训课件图片素材
- 各种护理导管防滑脱措施
- 小学教导处常规管理汇报
- 肺炎的公休座谈会
- 颈椎病健康教育课件
- 领航职业英语课件下载
- 预防踩踏班会课件
- 岗前培训结业汇报
- 预防小学生溺水课件
- 德勤:2025“十五五”时期中国能源行业关键议题报告
- 2024年中国高纯铂族金属行业调查报告
- 2025辅警招聘公安基础知识考试题库及答案
- 2025年银行反洗钱知识竞赛考试卷库90题
- DeepSeek在教育和学术领域的应用场景与案例(上中下合集)
- 第10课+影响世界的工业革命+课件-2024-2025学年高一下学期统编版(2019)必修中外历史纲要下
- DB41∕T 2741-2024 高速公路联网收费系统养护技术规范
- 2025年淮南新东辰控股集团有限责任公司招聘笔试参考题库含答案解析
- 蒋诗萌小品《谁杀死了周日》台词完整版
- 职业暴露针刺伤应急预案演练脚本-
- 《干部履历表》(1999版电子版)
评论
0/150
提交评论