C语言利用链表求集合的交集

这篇博客介绍了如何使用C语言构建带表头结点的循环单链表来表示两个升序排列的集合,并实现求这两个集合交集的算法。用户需输入两个集合的元素,程序将输出它们的交集,且结果保持升序。内容包括输入元素、求交集、输出结果的函数实现以及主函数的调用。
摘要由CSDN通过智能技术生成

Description

 假设元素依值递增有序排列的线性表A和B分别表示两个集合(即同一表中的元素值各不相同),现要求另辟空间构成一个线性表C,其元素为A和B中元素的交集,且表C中的元素也依值递增有序排列。

输入A和B集合中的元素;

输出A和B的交集C中的元素。

提示:存储结构采用带表头结点的循环单链表,结点结构如下:

typedef struct Node

{

    int data;  

    struct Node *next;

}LNode,*LinkList;

要求:

(1)编写函数按照升序序列输入元素值,建立集合的循环单链表。

(2) 编写函数实现集合的求交集算法。

(3)编写函数依次输出集合中的元素。

(4)编写main(),调用上述函数完成题目要求。

Input

 输入集合A的元素个数

按照升序依次输入集合A的元素值

输入集合B的元素个数

按照升序依次输入集合B的元素值

Output

 依次输出A和B的交集C中的元素。

Sample Input

5
10 20 30 40 50
6
5 16 20 35 40 80

Sample Output

20 40

 

#include <stdio.h>
#include <stdlib.h>
typedef struct Node
{
    int data;
    struct Node *next;
}LNode,*LinkList;
int length_C
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值