java数据结构实验代码之升序顺序表_第1页
java数据结构实验代码之升序顺序表_第2页
java数据结构实验代码之升序顺序表_第3页
java数据结构实验代码之升序顺序表_第4页
java数据结构实验代码之升序顺序表_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

数据结构实验报告 学院:管理学院 班级:13电子商务(1)班 姓名:廖秋君 学号:3213004779 2014年 10月 23 日目录一、需求分析 问题描述 基本要求 实现说明二、设计目的三、概要设计基本框架图设计想法四、详细设计 顺序表接口 顺序表类 测试类五、测试结果 基本数据 操作截图六、心得体会题目:顺序表一、需求分析【问题描述】设计按升序排列顺序表类,实现插入、删除等操作,元素插入位置由其值决定。 【基本要求】 创建一个顺序表,表中元素按升序排列,对顺序表进行删除、插入操作,插入元素的插入位置由元素值大小决定。【实现说明】通过数组实现顺序表的插入、删除操作。二、设计目的1、熟悉掌握java和数据结构的基本知识和技能;2、能够利用所学的基本知识和技能,解决简单的顺序表设计问题;3、复习学过的知识,思考新的问题;三、概要设计(1)基本框架图:升序顺序表数组实现建立一个顺序表创建一个含有元素的数组插入一个元素删除一个元素完成操作(2)设计想法:1、创建顺序表接口2、设计顺序表类实现接口3、创建数组4、通过对数组的插入、删除实现顺序表的插入、删除5、输出表中元素四、详细设计1、顺序表接口类:interface LList boolean isEmpty(); /判断线性表是否空 int length(); /返回线性表长度 int get(int i); /返回第i(i0)个元素 void set(int i, int x); /设置第i个元素值为x void insert( int x); /插入x作为元素 void append(int x); /在线性表最后插入x元素 void remove(int i); /删除第i个元素 void removeAll(); /删除线性表所有元素 2、顺序表类及部分方法: class SeqList implements LList /顺序表类实现LL接口 protected int element; /整型数组,保护成员 protected int len; /顺序表长度,记载元素个数 public SeqList(int ele) /构造方法 if (ele = null |ele.length = 0) this.len = 0; else element = ele; len = ele.length; public boolean isEmpty() /判断顺序表是否空,若空返回true,O(1) return this.len=0; public int length() /返回顺序表长度,O(1) return this.len; public int get(int i) /返回第i(0)个元素。若i0或大于表长则返回null,O(1) return 0; /设置第i(0)个元素值为x。不操作 public void set(int i, int x) /返回顺序表所有元素的描述字符串,形式为“(,)”,覆盖Object类的toString()方法 public String toString() return null; /空表返回() /3. 顺序表的插入操作 public void insert( int x) /插入元素为x int newA = new intlen + 1; /创建一个新数组newAfor (int a=1;aelement.length;a+) /将数组中的元素按升序排列for(int b=0;belement.length;b+)if (element aelement b)int temp = element a; element a = element b; element b = temp; int i = 0, j = 0; /i为element数组元素下标,j为newA数组元素下标 for ( ;i = x) /如果element元素大于x,则将x置于newA数组第j个位置 newAj = x; break; else /否则就将element中第i个元素置于newA中第j个元素 newAj = elementi; while (i element.length) /复制element中元素 newA+j = elementi; i+; element = newA; /更新插入x元素后的element数组 len+; System.out.print(插入后的数组为:); for(int z=0;zelement.length;z+) /按顺序输出数组中元素 System.out.print(elementz+ ); public void append(int x) /在顺序表最后插入x元素 insert( x); /4. 顺序表的删除操作 /删除第i(0)个元素。 public void remove(int i) for (int a=1;aelement.length;a+)/对数组元素进行升序排序for(int b=0;belement.length;b+)if (element aelement b)int temp = element a; element a = element b; element b = temp;if (this.len=0 | i=this.len) /若i0或i大于表长,不删除,返回。 return ; int old = this.elementi; for (int j=i; jthis.len-1; j+) /元素前移,平均移动len/2 this.elementj = this.elementj+1; this.elementthis.len-1=0; this.len-; System.out.print(删除后的数组为:); for(int z=0;z、等运算符来比较大小,通过网上查询才

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论