已阅读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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025江西服装学院党政管理岗招聘5人笔试考试参考题库及答案解析
- 2025广西南宁市江南区商务局招聘6人笔试考试参考题库及答案解析
- 2025山东滨州市人民医院合同制工作人员招聘10人笔试考试参考试题及答案解析
- 2025黑龙江哈尔滨启航劳务派遣有限公司派遣到哈尔滨工业大学材料科学与工程学院招聘考试笔试备考题库及答案解析
- 2025广东省云浮市百万英才汇南粤招聘市级机关事业单位紧缺人才11人(华南农业大学专场)考试笔试模拟试题及答案解析
- 2025浙江温州泰顺县彭溪镇中心卫生院招聘编外工作人员1人笔试考试参考试题及答案解析
- 2025浙江绍兴市镜湖开发集团有限公司下属国有企业招聘项目制员工6人考试笔试模拟试题及答案解析
- 2025齐鲁工业大学(山东省科学院)招聘人员1人考试笔试备考题库及答案解析
- 2025西安市永顺路学校教师招聘笔试考试参考题库及答案解析
- 加气混凝土配料浇注工安全素养强化考核试卷含答案
- 2025年耳鼻喉医师面试题及答案
- 2025年生态环境执法大练兵比武竞赛理论考试题库(含答案)
- 家用空调维修培训
- 2025年湖南省长沙市生地会考试卷附带长郡月亮岛中学生地会考及答案
- 2025安徽合肥水务集团有限公司招聘56人笔试考试备考试题及答案解析
- 江西省稳派智慧上进2025-2026学年高二上学期11月期中语文试卷及答案
- 污水处理厂管道安装施工方案
- DGTJ08-2048-2024 民用建筑电气防火设计标准
- 2025江西抚州市5家市属国有企业招聘51人笔试考试备考试题及答案解析
- (2025年)(完整版)中药材及中药饮片培训试题附答案
- 雨课堂在线学堂《公共管理前沿-社会企业家精神》作业单元考核答案
评论
0/150
提交评论