没有合适的资源?快使用搜索试试~ 我知道了~
java数据结构lab2.doc
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 183 浏览量
2022-06-10
06:12:47
上传
评论
收藏 109KB DOC 举报
温馨提示
试读
20页
java数据结构lab2
资源推荐
资源详情
资源评论
实验报告二 线性表
班级 2013055 姓名: 学号: 20133732 专业: 计算机科学与技术
一、 实验目的:
(1) 理解线性表的逻辑结构、两种存储结构和数据操作;
(2) 应用顺序表的基本算法实现集合 A=AUB 算法,应用顺序表的基本算法实现两有
序顺序表的归并算法;
(3) 掌握单链表的遍历、插入和删除等操作算法,实现多项式相加。
二、 实验内容:
1、设有线性表 LA=(3,5,8,11)和 LB=(2,6,8,9,11,15,20);
① 若 LA 和 LB 分别表示两个集合 A 和 B,求新集合
A=A U B(‘并’操作,相同元素不保留);
预测输出:LA=(3,5,8,11,2,6,9,15,20)
实现代码:
package homework2;
顺序存储:
public class SeqList<T>{
public Object[] element;
public int len;
public SeqList(T[] ele)
{
this.element=new Object[ele.length];
element=ele;
this.len=element.length;
}
public SeqList()
{
this(null);
}
public void append(SeqList<T> list)
{
Object[] temp=this.element;
this.element=new Object[this.len+list.len];
for(int i=0;i<temp.length;i++)
{
element[i]=temp[i];
}
for(int j=this.len,k=0;j<this.len+list.len;j++,k++)
{
element[j]=list.element[k];
}
}
}
public class SeqCombine {
public static void main(String args[])
{
Integer []a={3,5,8,11};
Integer []b={2,6,8,9,11,15,20};
SeqList<Integer> A=new SeqList<Integer>(a);
SeqList<Integer> B=new SeqList<Integer>(b);
A.append(B);
for(int i=0;i<=A.element.length-1;i++)
{
System.out.print(A.element[i]+",");
}
}
}
链式存储
使用尾节点
public class Node<T>{
T data;
Node<T> next;
Node(T data,Node<T> next)
{
this.data=data;
this.next=next;
}
Node()
{
this(null,null);
}
}
public class SinglyLinkedList<T>{
public Node<T> head;
public Node<T> rear;
public SinglyLinkedList()
{
this.head=new Node<T>();
this.rear=new Node<T>();
}
public SinglyLinkedList(T[] element)
{
this();
rear=this.head;
for(int i=0;i<element.length;i++)
{
rear.next=(Node<T>)new Node<T>(element[i],null);
rear=rear.next;
}
}
}
public class Combine{
public static void main(String args[])
{
Integer []a={3,5,8,11};
Integer []b={2,6,8,9,11,15,20};
SinglyLinkedList<Integer> A=new SinglyLinkedList<Integer>(a);
SinglyLinkedList<Integer> B=new SinglyLinkedList<Integer>(b);
A.rear.next=B.head.next;
Node<Integer> p=A.head.next;
while(p!=null)
{
System.out.print(p.data+",");
p=p.next;
}
}
}
不用尾节点。
public class SinglyLinkedList<T>{
public Node<T> head;
public SinglyLinkedList()
{
this.head=new Node<T>();
}
public SinglyLinkedList(T[] element)
{
this();
Node<T> rear=this.head;
for(int i=0;i<element.length;i++)
{
rear.next=(Node<T>)new Node<T>(element[i],null);
rear=rear.next;
}
}
}
public class Combine{
public static void main(String args[])
{
Integer []a={3,5,8,11};
Integer []b={2,6,8,9,11,15,20};
SinglyLinkedList<Integer> A=new SinglyLinkedList<Integer>(a);
SinglyLinkedList<Integer> B=new SinglyLinkedList<Integer>(b);
Node<Integer> p=A.head;
while(p.next!=null)
{
p=p.next;
}
p.next=B.head.next;
Node<Integer> q=A.head.next;
while(q!=null)
{
System.out.print(q.data+",");
q=q.next;
}
}
}
粘贴运行结果
输出:3,5,8,11,2,6,9,11,15,20
剩余19页未读,继续阅读
资源评论
oligaga
- 粉丝: 51
- 资源: 2万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 基于OpenCV的案例:图像边缘、角点和轮廓检测,图像分割,图像增强;图片拼接;运动目标检测,颜色直方图比较,三帧帧差法,抠图
- SmartPlug-html大一笔记
- SmartPlug-proteusdemo
- Preliminary Findings on Handmade Rattan Baby Crib andBassinet Designs Regarding.zip
- aveebfq_v1.2.83_downyi.com.apk
- 基于有机发光二极管(OLED)的建模优化算法的matlab仿真源码+数据+文档说明+项目说明(高分课程设计)
- hash01-test.c 本人哈希表(一)的示例代码,仅供参考!
- 处理数据.py
- 软件实施计划表.xls
- 软件开发应用软件项目提交文档目录要求(全过程)(推荐文档).xls
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功