用户注册



邮箱:

密码:

用户登录


邮箱:

密码:
记住登录一个月忘记密码?

发表随想


还能输入:200字
云代码 - c代码库

集合的并交差运算

2017-09-22 作者:芙蓉妹妹举报

[c]代码库

#include<stdio.h>
#include<malloc.h>
#include<stdlib.h>
#include<iostream>
using namespace std;

typedef int ElemType;  //假设线性表中的元素均为整型
typedef struct
{
    ElemType* elem;   //存储空间基地址
    int length;       //表中元素的个数
} SqList;   //顺序表类型定义

int ListCreate_Sq(SqList &L,int n)
{
    L.elem=new ElemType[n];
    for(int i=0; i<n; i++)
        cin>>L.elem[i];
    L.length=n;
    return 1;
}
void ListPrintf_Sq(SqList &L)
{
    ElemType *p;
    cout<<L.length;
    for(p=L.elem; p<L.elem+L.length; ++p)
        printf(" %d",*p);
    cout<<endl;
}
void Listjiao(SqList &a,SqList &b,SqList &c)
{
    c.elem=new ElemType[200];
    int p,i,j;
    for(i=0;i<a.length;i++)
        c.elem[i]=a.elem[i];
    c.length=a.length;
    for(i=0,j=a.length;i<b.length;i++)
    {
        for(p=0;p<a.length;p++)
        {
            if(a.elem[p]==b.elem[i])
                break;
        }
        if(p==a.length)
        {
            c.elem[j++]=b.elem[i];
            c.length++;
        }
    }
}
void Listbing(SqList &a,SqList &b,SqList &c)
{
    c.elem=new ElemType[100];
    c.length=0;
    int i,j,p;
    for(i=0;i<a.length;i++)
    {
        for(j=0;j<b.length;j++)
        {
            if(b.elem[j]==a.elem[i])
               c.elem[c.length++]=a.elem[i];
        }
    }
}
void Listcha(SqList &a,SqList &b,SqList &c)
{
    c.elem=new ElemType[100];
    c.length=0;
    int i,j;
    for(i=0; i<a.length; i++)
    {

        for(j=0; j<b.length; j++)
        {
            if(b.elem[j]==a.elem[i])
                break;
        }
        if(j==b.length)
            c.elem[c.length++]=a.elem[i];
    }
}
int main()
{
    SqList La,Lb,L1,L2,L3;
    int a,b;
    cin>>a>>b;
    ListCreate_Sq(La,a);
    ListCreate_Sq(Lb,b);
    Listjiao(La,Lb,L1);
    Listbing(La,Lb,L2);
    Listcha(La,Lb,L3);
    ListPrintf_Sq(L1);
    ListPrintf_Sq(L2);
    ListPrintf_Sq(L3);
    return 0;
}


分享到:
更多

网友评论    (发表评论)


发表评论:

评论须知:

  • 1、评论每次加2分,每天上限为30;
  • 2、请文明用语,共同创建干净的技术交流环境;
  • 3、若被发现提交非法信息,评论将会被删除,并且给予扣分处理,严重者给予封号处理;
  • 4、请勿发布广告信息或其他无关评论,否则将会删除评论并扣分,严重者给予封号处理。