数据结构002-线性表资料.pptx

  1. 1、本文档共60页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第2章 线性表;主要内容;1、线性表 (Linear List);线性表的抽象数据类型1;线性表的抽象数据类型2;2、线性表:顺序表;;顺序表(SqList)类的定义; // 读取到线性表中的第i个数据元素并由函数返回其值。 public Object get(int i) throws Exception { if (i 0 || i curLen - 1) // i小于0或者大于表长减1 throw new Exception(第 + i + 个元素不存在); // 输出异常 return listElem[i]; // 返回顺序表中第i个数据元素 } // 在线性表的第i个数据元素之前插入一个值为x的数据元素。 public void insert(int i, Object x) throws Exception { …… } // 将线性表中第i个数据元素删除。 public void remove(int i) throws Exception { ……} // 返回线性表中首次出现指定元素的索引,如果列表不包含此元素,则返回 -1 public int indexOf(Object x) { …… } // 输出线性表中的数据元素 public void display() { for(int j=0;jcurLen;j++) System.out.print(listElem[j]+ ); System.out.println(); } };2.1 顺序表的插入操作;顺序表插入操作的实现;2.2 顺序表的删除操作;顺序表删除操作的实现;2.3 顺序表的查找操作;顺序表查找操作的实现;2.4 顺序表示例;顺序表示例-【例2】;public class SeqListTest2{ public static void main(String args[]){ SqList seqList=new SqList(100); Student[] student ; student=new Student[3]; student[0]=new Student(2000001,张三,男,20); student[1]=new Student(2000002,李四,男,21); student[2]=new Student(2000003,王五,女,22); int n=3; try{ for(int i = 0; i n; i++){seqList.insert(i,student[i]);} for(int i=0;iseqList.curLen;i++){ Student st=(Student)seqList.get(i); System.out.println(st.getNumber()+ + st.getName()+ +st.getSex()+ +st.getAge()); } } catch(Exception e){System.out.println(e.getMessage());} } };2.5 顺序存储结构的优缺点;3、线性表:链表;3.1 单链表;单链表特点;3.1.1 单链表定义-结点;单链表定义-链表(1);单链表定义-链表(2);3.1.2 单链表上的查找;单链表查找操作get(int i)的实现;单链表上的查找;// 在带头结点的单链表中查找值为x的元素,如果找到,则函数返回该元素在线性表中的位置,否则返回-1 public int indexOf(Object x) { // 初始化,p指向首结点结点,j为计数器 Node p = head.getNext(); int j = 0; // 从头结点开始查找,直到p.getData()指向元素x或到达表尾 while (p != null !p.getData().equals(x)) { p = p.getNext(); ++j; } if (p != null) return j; // 如果p指向表中的某一元素,返回其位置 else return -1;// x元素不在顺序表中 }; // 输出线性表中的数据元素 public void display() { Node node = head.getNext(); // 取出带头结点的单链表中的首结点元素

文档评论(0)

希望之星 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档