用c语言实现交并差算法,C语言实现集合的交,并,差

用c语言实现交并差算法,C语言实现集合的交,并,差本文介绍了如何使用 C 语言实现集合的交 并 差运算

C语言实现集合的交,并,差

作者:Raining_C      来源:http://blog.csdn.net/Raining_CN

【问题描述】

编制一个能演示执行集合的并、交和差运算的程序

【基本要求】

(1)集合的素限定为小写字母字符[ 'a'......'z' ]

(2 )演示程序以用户和计算机对话的方式执行

【测试数据】

【实现提示】

以有序链表表示集合

【代码过程】

1。先定义 集合的数据类型 notes.h

//notes.h

typedef struct LNode...{

ElemType    data;

LNode        *next;

}*Link, *Position;

typedef struct...{

Link    head,tail;

int        len;

}LinkSet;

//~

2。以后要用的一些常量放在   constValues.h

#include

#include

#include

//函数结果状态代码

#define    TRUE    1

#define    FALSE    0

#define    OK        1

#define    ERROR    0

#define    INFEASIBLE    -1

#define OVERFLOW    -2

#define ElemType        int        //存放数据的类型

typedef int    Status;                //函数的返回值

//~

3。集合实现函数   setsFun.h

/// 函数定义 */

Status InitSets(LinkSet &ls)...{

//初始化 集合

ls.head = (Link) malloc( sizeof(Link));

ls.tail = (Link) malloc( sizeof(Link));

if(!ls.head || !ls.tail) exit(OVERFLOW);    //如果分配失败

ls.head->next = ls.tail->next =    NULL;        //头、尾指针为空

ls.len = 0;                                    //长度为0

return OK;

}

Status CreateNode(Link &link,ElemType e)...{

//创建一节点,内容为e

link = (Link) malloc( sizeof(Link));

if(!link)    exit(OVERFLOW);

link->data = e;                                //值设定

link->next = NULL;                            //指向空

return OK;

}

Position PriorInsertNode(LinkSet &ls,Link &link)...{

//找出节点link要插入到ls的前一个节点

if(!ls.head->next) return ls.head;

Link h1 = ls.head->next, h2 = h1->next;            //h1:前一节点,h2:前一节点的后一节点

if(link->data < h1->data) return ls.head;        //如果比第一个节点小,返回头指针

while(h1 && h2)...{

if(h1->data < (link->

今天的文章 用c语言实现交并差算法,C语言实现集合的交,并,差分享到此就结束了,感谢您的阅读。
编程小号
上一篇 2025-01-01 19:17
下一篇 2025-01-01 19:11

相关推荐

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