这是我的作业题,作业写完后再附到博客中,可能代码写得很烂。虽然是C语言写的,但是我在其中加入了C++的写法,例如cout。我懒得写printf的格式控制符,所以用cout来输出内容,这样我感觉简便多了
题目
假设:有两个整数集合 A 和 B 分别用两个线性表 LA 和 LB 表示,即:线性表中的数据元素即为集合中的成员。(A/B为纯集合)
要求:一个新的集合A=A∪B,A仍然为纯集合,线性表采用链式存储方式。
该实验内容以“int”作为线性表数据元素的数据类型。
代码:
//main.cpp
#include <iostream>
#include "ListNode.h"
using namespace std;
int main()
{
ListNode *LA,*LB;
InitList(LA);
InitList(LB);
int a[10] = {
1,2,3,4,5,6,7,8,9,10 };
int b[10] = {
34, 1, 9, 32, 12, 8, 99, 60, 3, 4};
//CreateListF(L, a, 10);
cout << "集合A:";
CreateListR(LA, a, 10); //尾插法
DispList(LA);
cout << "集合B:";
CreateListR(LB, b, 10);
DispList(LB);
cout << "集合A = A U B :";
/*
*(1)根据题干要求,可用两个链表对象分别表示两个集合;
*(2)逐个取集合B的元素ei,与集合A中的每个元素进行比较,如果ei不在A中,则将ei插入到集合A中;
*/
int LB_Elem = 0; //表B的一个元素
int LA_Elem = 0; //表A的一个元素
for (int i = 1; i < ListLength(LB); i++) {
//遍历LB中的元素
GetElem(