#include <stdio.h>#define MAXSIZE 30typedef int datatype;typedef struct { datatype data[MAXSIZE]; int last;}SeqList;void Union(SeqList A,SeqList B,SeqList *C);void intersection(SeqList A,SeqList B,SeqList *C);void differnce(SeqList A,SeqList B,SeqList *C);void output(SeqList A);int main(){ int i=0; SeqList A={{20,30,40,50,60,70,80,90,100},8}; SeqList B={{15,20,25,35,40,55,60,75,85,95},9}; SeqList C,D,E; /计算集合的并/ /计算集合的交/ /计算集合的差/}void output(SeqList C){ int i;for(i=0;i<=C.last;i++) { printf("%-6d",C.data[i]); if((i+1)%5==0) printf("\n");} printf("\n");}/*集合并集运算*/void Union(SeqList A,SeqList B,SeqList *C){ int i=0,j=0,k=0; while(i<=A.last&&j<=B.last) { if(A.data[i]<B.data[j]) { /* 把A中当前元素加入到结果集合中*/ } else if(A.data[i]==B.data[j]) { /* 把A中当前元素加入到结果集合中,丢掉B集合中当前元素*/ } else { /* 把B中当前元素加入到结果集合中*/ } }/*如果A集合中还有剩余元素*/ while(i<=A.last) { }/*如果A集合中还有剩余元素*/ while(j<=B.last) { }C->last=k-1;}/集合交集运算/void intersection(SeqList A,SeqList B,SeqList *C){ int i=0,j=0,k=0; while(i<=A.last&&j<=B.last) { if(A.data[i]<B.data[j]) { /*丢掉A中当前元素*/ } else if(A.data[i]==B.data[j]) { /* 把A中当前元素加入到结果集合中,丢掉B集合中当前元素*/ } else { /*丢掉B中当前元素*/ } } C->last=k-1;}/集合差集运算/void differnce(SeqList A,SeqList B,SeqList *C){ int i=0,j=0,k=0; while(i<=A.last&&j<B.last) { if(A.data[i]<B.data[j]) { /* 把A中当前元素加入到结果集合中*/ } else if(A.data[i]==B.data[j]) { /*丢掉A中当前元素*//*丢掉B中当前元素*/ } else { /*丢掉B中当前元素*/ } }/*如果A集合中还有剩余元素,把剩余元素放到结果集合中*/ while(i<=A.last) { }C->last=k-1;}
你这让人怎么看啊