实验报告 2 线性表
一、 实验目的:
(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)
② 将 LA 与 LB 表归并,要求仍有序(相同元素要保留)
预测输出:LC=(2,3,5,6,8,8,9,11,11,15,20
实现代码:
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
import java.util.List;
public class MergeList {
public static void main(String[] args) {
List<Integer> l1 = new ArrayList<Integer>(Arrays.asList(3,5,8,11));
List<Integer> l2 = new
ArrayList<Integer>(Arrays.asList(2,6,8,9,11,15,20));
List<Integer> tmp = new ArrayList<Integer>(l2);
tmp.removeAll(l1);
List<Integer> result = new ArrayList<Integer>(l1);
result.addAll(tmp);
System.out.println("相同元素不保留的结果为"+result);
l1.addAll(l2);
Collections.sort(l1);
System.out.println("相同元素要保留且有序的结果为"+l1);
}
}
粘贴运行结果: