顺序表--求两个集合的交集
发布日期:2021-11-02 05:00:17 浏览次数:2 分类:技术文章

本文共 1212 字,大约阅读时间需要 4 分钟。

#include
#include
typedef struct { int data[10]; int length;}Sqlist;void CreateList(Sqlist *&L){ int i = 0; int len = 0; int a[5]; L = (Sqlist*)malloc(sizeof(Sqlist)); while( i < 5) { scanf("%d",&a[i]); L->data[i] = a[i]; i++; len++; } L->length = len; } void Display(Sqlist *L){ int i; for( i = 0; i < L->length; i++) { printf("%d ",L->data[i]); } printf("\n");}//求交集 void unionList(Sqlist *L1,Sqlist *L2,Sqlist *&L3){ int i,j = 0; int e; L3 = (Sqlist *)malloc(sizeof(Sqlist)); L3->data[0] = L1->data[0]; L3->length = 1; for( i=1; i
length; i++) { j = 0; while(j < i) { if(L3->data[j] != L1->data[i]) { if( j == i-1) { L3->data[L3->length++] = L1->data[i]; break; } else j++; } else break; } } for( i=0; i
length; i++) { j = 0; while(j < L3->length) { if(L3->data[j] != L2->data[i]) { if( j == L3->length-1) { L3->data[L3->length++] = L2->data[i]; break; } else j++; } else break; } }}int main(){ int i; Sqlist *L1,*L2,*L3; CreateList(L1); CreateList(L2); printf("L1: "); Display(L1); printf("L2: "); Display(L2); unionList(L1,L2,L3); printf("交集L3: "); Display(L3); return 0;}

转载地址:https://blog.csdn.net/weixin_43486985/article/details/98883959 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:顺序表--奇数在前,偶数在后
下一篇:单链表--排序

发表评论

最新留言

关注你微信了!
[***.104.42.241]2024年04月23日 08时28分00秒