第3周 项目3--求集合并集

#include<stdio.h> 
#include<malloc.h> 
typedef struct 

    int data[50]; 
    int length; 
 
}sqlist; 
void creatlist(sqlist *&,int a[],int ); 
void DispList(sqlist *); 
void unionlist(sqlist *,sqlist *,sqlist *&); 
int main() 

    sqlist *sqa,*sqb,*sqc; 
    int a[6]= {5,8,7,2,4,9}; 
    creatlist(sqa,a,6); 
    printf("LA:"); 
    DispList(sqa); 
    int  b[6]= {2,3,8,6,0}; 
    creatlist(sqb,b,6); 
    printf("LB:"); 
    DispList(sqb); 
    unionlist(sqa,sqb,sqc); 
    printf("LC:"); 
    DispList(sqc); 
 
 
 

void creatlist(sqlist *&l,int a[],int n) 

    int i; 
    l=(sqlist *)malloc(sizeof(sqlist)); 
    for(i=0;i<n;i++) 
    { 
        l->data[i]=a[i]; 
    } 
 
    l->length=n; 

void DispList(sqlist *l) 

    int i; 
    for(i=0;i<l->length;i++) 
    { 
        printf("%d ",l->data[i]); 
    } 
    printf("\n"); 

void unionlist(sqlist *a,sqlist *b,sqlist *&c) 

    c=(sqlist *)malloc(sizeof(sqlist)); 
    int i,j=0,k=0,l=0; 
    c->length=0; 
    for(i=0;i<a->length;i++) 
    { 
        c->data[i]=a->data[i]; 
        c->length++; 
    } 
    while(j<b->length) 
    { 
        while(b->data[j]!=a->data[k]&&k<b->length) 
        { 
            k++; 
        } 
        if(k==b->length) 
        { 
            c->data[i]=b->data[j]; 
            i++; 
            c->length++; 
        } 
        k=0; 
        j++; 
    } 
 
 
 

第3周 项目3--求集合并集