}
int rs = 0; int rra[20] = {0};
rs = fread(rra, sizeof(int),20,rfile);
for ( int j = 0 ; j < rs; j++) { q = NULL;
q = (LinkList)malloc(sizeof(ListNode)); q->next=NULL;
q->data = rra[j]; //读取元素值 p->next = q; p = p->next;
}//for
fclose(rfile); return L; }
6
计算集合并的函数模块
LinkList pa, pb, pc,tail; pa!=null &&pb!=null 否 是 否 pa->data<=pb->data 是 pc->data = pb->data pc->data = pa->data 结束 //求并集
LinkList Union(LinkList A,LinkList B,LinkList C) {
LinkList pa, pb, pc,tail; pa = A->next; pb = B->next; tail = C; while(pa && pb) {
{
pc = (LinkList)malloc(sizeof(ListNode)); if((pa->data) <= (pb->data))
7
pc->data = pa->data; pc->next=tail->next; tail->next = pc; tail = pc; pc = pc->next;
pa = pa->next;
}//if else
{pc = (LinkList)malloc(sizeof(ListNode)); pc->data = pb->data; pc->next=tail->next; tail->next = pc; tail = pc; pc = pc->next;
pb = pb->next;
}//else
}
if(pa == NULL) {pc = pb; tail->next = pc;
tail = pc;
}//if else {pc = pa; tail->next = pc;
tail = pc;
}//else }//while return(C);}
8
计算集合交的函数模块
LinkList pa, pb, pc,tail; pa!=null &&pb!=null 否 是 否 pa->data==pb->data 是 释放pa,pb pc->data = pa->data 结束 //求交集
LinkList Intersection(LinkList A,LinkList B,LinkList L) {
ListNode *pa, *pb, *pc,*tail; tail = L; pa = A->next; pb = B->next; while (pa && pb) {
if (pa->data < pb->data) {
pa = pa->next;
9
}//if
else if (pa->data > pb->data) {
pb = pb->next;
}//else if else { pc = (LinkList)malloc(sizeof(ListNode)); pc->data = pa->data; pc->next=tail->next; tail->next = pc; tail = pc; pc = pc->next; pa = pa->next;
pb = pb->next;
}//else
}//while
return L; }
10