c语言单链表求字符集合交,数据结构--C语言链表实现集合的(并,交,差)运算!...

c语言单链表求字符集合交,数据结构--C语言链表实现集合的(并,交,差)运算!...这篇博客介绍了如何使用 C 语言通过链表实现集合的交 并 差运算

数据结构--C语言链表实现集合的(并,交,差)运算!

数据结构--C语言链表实现集合的(并,交,差)运算!

老规矩,上效果图:

3cbfbee879c69e2bae4a0933054cc9d1.png

要求:

从程序完善性上考虑,集合元素输入时,要有检查元素重复的功能,每个集合中不允许有重复的元素。集合可以用数组也可以用链表存储。

实现交、并、差运算时,分别把代码写成函数的形式,即实现交运算的函数,实现并运算的函数,实现差运算的函数,在主函数中分别调用三个函数。

使用菜单形式对应各个操作,应允许用户反复查看结果,想结束程序时,输入负数结束,使其编成一个完整的小软件。菜单参考示例如下:

1—输入集合A和B

2—求集合A交B

3—求集合A并B

4—求集合A-B

退出,输入一个负数!

验收/测试用例:

输入: A={1,2,3,4,5}

B={3,4,5,6,7}

要注意输入的过程中,每输入一个元素都要检查输入的这个元素是否和前面的元素重复,如果重复,要求用户重新输入当前元素。

验收测试时要测试这种重复的情况。

输出 A交B={3, 4, 5}

A并B={1,2,3,4,5,6,7}

A-B={1, 2}

代码如下:

#include

#include

#define ERROR -1

//创建结构体

typedef struct Node{

int data;

struct Node *next; //指向下一个指针

}Node,*Link; //typedef 起别名 ,结尾有分号

/* //上面的同这个

struct node{

int data;

struct node *next; //指向下一个指针

};

typedef struct Node Node; //为 struct Node类型起别名Node

typedef struct Node *Link; //为struct Node 指针类型起别名Link

*/

//菜单

void show (){

printf("\t\t--------------集合运算--------------\n");

printf("\n");

printf("\t\t\t 1---输入集合A和B\n");

printf("\t\t\t 2---求集合A交B\n");

printf("\t\t\t 3---求集合A并B\n");

printf("\t\t\t 4---求集合A-B\n");

printf("\t\t\t 退出,输入一个负数!");

printf("\n");<

编程小号
上一篇 2025-03-10 11:51
下一篇 2025-03-13 16:33

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/bian-cheng-ji-chu/108018.html