好文档 - 专业文书写作范文服务资料分享网站

数据结构课程设计 - 集合运算(完整) 

天下 分享 时间: 加入收藏 我要投稿 点赞

.

定义链表,创建链表,输出链表。利用链表的来存储集合。利用三个函数分别实现课程要求程序实现的求并、求交和差三中运算。现分述如下:

A)并运算函数

该函数采取了用新集合存储两集合并后的新集合,利用一个for循环来消除新集合中相同的元素,使其在屏幕上只显示一次。

B)交运算函数

该函数用于实现集合的并运算,利用for嵌套实现两链表中数据的比较,输出两链表中相同的元素。

C)差函数

该函数用于实现集合的差运算,利用链表中的数据域进行判断。输出不同于被减集合中不存在的元素。

四 程序流程图

流程图:

开始

.

定义链表

创建链表 输入数据 .

输入数据 求两集合的并集

求两集合的交集

输入数据 求两集合的差集

五 程序的实现

改程序的实现步骤是定义链表,创建链表,输出链表。利用链表的来存储集合。利用三个函数分别实现课程要求程序实现的求并、求交和差三中运算。现分述如下:

5.1 主函数

void bangzhu(){

printf(\

printf(\求集合的交并差 *\

.

.

printf(\ }

void main() /* 主函数 */ {

struct set *p,*q,*r;

int m,n,node;

bangzhu();

for(;;) { do{

printf(\请输入您要选择操作的代码:\\n\

printf(\:求两集合的并A∪B\\n\

.

.

printf(\:求两集合的交A∩B\\n\

printf(\:求两集合的差A-B\\n\

printf(\:退出该程序\\n\

scanf(\

if(node==0) exit(1);

printf(\请输入集合A中元素的个数:*/\\n\

scanf(\

createlist_p(p,m); /* 调用链表生成函数生成A链表 */

printf(\请输入集合B中元素的个数:*/\\n\

scanf(\调用链表生成函数生成B链表 */

} while(node<0||node>3);

.

.

createlist_p(q,n);

printf(\集合A中元素为:\

printlist_p(p); /* 调用集合输出函数输出集合A */

printf(\集合B中元素为:\

printlist_p(q); /* 调用集合输出函数输出集合A */

while(node<0||node>3);

switch(node)

{

case 1: Addset( p,q,r);printf(\∪B:\\n\

case 2: Subset( p,q,r);printf(\∩B:\\n\

case 3: Intset(p,q,r); printf(\

}

.

数据结构课程设计 - 集合运算(完整) 

.定义链表,创建链表,输出链表。利用链表的来存储集合。利用三个函数分别实现课程要求程序实现的求并、求交和差三中运算。现分述如下:A)并运算函数该函数采取了用新集合存储两集合并后的新集合,利用一个for循环来消除新集合中相同的元素,使其在屏幕上只显示一次。B)交运算函数该函数用于实现集合的并运算,利用for
推荐度:
点击下载文档文档为doc格式
2i6qh634g7207lq1bbd16zh7s4eqd201d1t
领取福利

微信扫码领取福利

微信扫码分享