链表求交集、并集和差集

这篇博客介绍了如何使用C语言创建链表,并实现两个链表的交集、并集和差集的计算。提供了有序和无序集合的交集算法,以及直接修改原链表的差集操作和新建链表存储差集的方法。此外,还包括了链表的插入、查找和删除功能。

链表求交集、并集和差集

C语言建立链表,输入集合A和集合B,求集合A和B的交集、并集和差集;
求交集写了两种,一种是求两个非递减集合的交集,另一种是无序集合

以下是打代码块

#include <stdio.h>
#include <stdlib.h>


int ans;
typedef struct Lnode{
   
   

    int data;
    struct Lnode *next;
}Lnode,*LinkList;



//链表初始化
LinkList InitList(LinkList L,int n){
   
   
    int data;
    L = (LinkList)malloc(sizeof(Lnode));
    //建立头结点
    L->next = NULL;
    //定义一个head指向L的头部
    LinkList head = L;

    for(int i = 0;i < n;i++){
   
   
        LinkList p = (LinkList)malloc(sizeof(Lnode));
        scanf("%d",&data);
        p->data = data;
        p->next = L->next;
        L->next = p;
        L=L->next;
    }

    return head;
}



//插入数据
LinkList InsertList(LinkList L,int i,int data){
   
   

    LinkList head = L;
    //标记插入的位置
    int mark = 1;
    while(L){
   
   
        if(mark == i){
   
   
            LinkList p = (LinkList)malloc(sizeof(Lnode));
            p->data = data;
            p->next = L->next;
            L->next = p;
            free(p);
            break;
        }
        mark++;
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

17丶

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值