求两个集合A、B的并集[C/C++]

  目录

题目要求:

函数接口定义:

裁判测试程序样例:

输出样例:

学习时间:

随便写写的答案:

题目要求:

本题要求实现一个函数,求两个集合A、B的并集,A和B使用单链表进行存储,求得的结果放在A表中。(注意集合中没有重复数据,B表中在A表中没有的元素放在A表的后面。)

函数接口定义:

void Union_L(LinkList &A,LinkList B)

解释接口参数:其中A 、B是用户传入的参数。A 、B都 是指向单链表头结点的指针,单链表结点有两个成员,一个是data域,存放该结点的数据元素,不特别说明的话元素类型为整型,一个是next域 ,指向下一个结点;函数无返回值,结果在A中表现出来。


裁判测试程序样例:

#include
using namespace std;
typedef int Status;
typedef int ElemType;
typedef struct node {
    ElemType data; 
    struct node *next;
}LNode,*LinkList;

Status InitList_Lk(LinkList &L) ; // 单链表的初始化,已实现,不用再定义
    
void CreatList(LinkList &L,int n);  //创建含有n个元素的单链表,已实现,不用再定义

void ViewList(LinkList L) ;//打印单链表,已实现,不用再定义

void Union_L(LinkList &A,LinkList B);// 要实现的函数

int main()
{
    LinkList A,B;
    int n,m;
    InitList_Lk(A);
    cin >> n;
    CreatList(A, n);
    InitList_Lk(B);
    cin >> m;
    CreatList(B, m);
    Union_L(A,B);
    ViewList(A);
    return 0;

}

输入样例:

在这里给出一组输入。例如:

10
12 78 3 145 6 34 2 9 23 7
8
11 9 44 76 12 90 7 57

输出样例:

在这里给出相应的输出。例如:

12 78 3 145 6 34 2 9 23 7 11 44 76 90 57 

代码长度限制                                                                                                                         16 KB

时间限制                                                                                                                                400 ms

内存限制                                                                                                                                 64 MB

学习时间:

2022/10/9

  • 星期日早上9:00
  • 其实就是先合并,在去重

随便写写的答案:

void Union_L(LinkList &A,LinkList B)
{
    LinkList temp = B;
    LinkList p = A,q;
    while(p->next)
        p=p->next;
    while(temp->next)
    {
        temp = temp->next;
        p->next = temp;
        p=p->next;
    }
    p = A;
    while(p->next != NULL)
    {
        q = p;
        q=q->next;
        p=p->next;
        while(q->next != NULL)
        {
            if(p->data != q->next->data)
                q=q->next;
            else
                q->next=q->next->next;
        }
    }
}

你可能感兴趣的:(PTA题目,数据结构,c++,c语言)