java中线性表_数据结构(Java版)线性表的实现和应用完整版.doc

Word文档 下载可编辑

专业资料 资源共享

实 验 报 告

课程名称 数据结构

实验项目 线性表的实现及应用

实验仪器 PC机一台

学 院_____

专 业

班级/学号

姓名

实验日期

成 绩

指导教师

北京信息科技大学

信息管理学院

(数据结构课程上机)实验报告

专业: 班级: 学号: 姓名: 成绩:

实验名称

线性表的实现及应用

实验地点

实验时间

实验目的:

理解用顺序表实现线性表的特点;熟练掌握顺序表的基本操作;学会利用顺序表解决实际应用问题。

熟练掌握单链表的使用;理解用链表实现线性表的特点;了解链表的多种形式;学会利用单链表解决实际应用问题。

实验要求:

学时为8学时;

能在机器上正确、调试运行程序;

本实验需提交实验报告;

实验报告文件命名方法:数据结构实验_信管16xx_学号_姓名.doc。

实验内容和步骤:

第一部分 顺序表的实现与应用

(1)基于顺序表实现线性表的以下基本操作:

public interface LList

{ //线性表接口,泛型参数T表示数据元素的数据类型

boolean isEmpty(); //判断线性表是否空

int size(); //返回线性表长度

T get(int i); //返回第i(i≥0)个元素

void set(int i, T x); //设置第i个元素值为x

void insert(int i, T x); //插入x作为第i个元素

void insert(T x); //在线性表最后插入x元素

T remove(int i); //删除第i个元素并返回被删除对象

int search(T key); //查找,返回首次出现的关键字为key的元素的位序

void removeAll(); //删除线性表所有元素

public String toString();//返回顺序表所有元素的描述字符串,形式为“(,)”

}

要求:实现后应编写代码段对每个基本操作做测试。

(2)顺序表的简单应用

运用基本操作编写算法删除第i个开始的k个元素。

编写高效算法删除第i个开始的k个元素。

将两个顺序表合并为一个顺序表(表中元素有序);

若两个元素按值递增有序排列的顺序表A和B,且同一表中的元素值各不相同。试构造一个顺序表C,其元素为A和B中元素的交集,且表C中的元素也按值递增有序排列;

(3)利用顺序表解决约瑟夫环问题:已知n个人(以编号1,2,3...n分别表示)围坐在一张圆桌周围。从编号为k的人开始报数,数到m的那个人出列;他的下一个人又从1开始报数,数到m的那个人又出列;依此规律重复下去,直到圆桌周围的人全部出列。要求:输出出列次序。

第二部分 单链表的实现与应用

(4)基于单链表实现线性表的以下基本操作(不需要建立接口,直接建立带头结点的单链表类):

ADT List

{boolean isEmpty(); //判断线性表是否空

int size(); //返回线性表长度

T get(int i); //返回第i(i≥0)个元素

void set(int i, T x); //设置第i个元素值为x

Node insert(int i, T x); //插入x作为第i个元素

Node insert(T x); //在线性表最后插入x元素

T remove(int i); //删除第i个元素并返回被删除对象

void re

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值