1 / 9
文档名称:

c语言实现集合的交,并,差.doc

格式:doc   大小:60KB   页数:9页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

c语言实现集合的交,并,差.doc

上传人:ainibubian1313 2018/6/12 文件大小:60 KB

下载得到文件列表

c语言实现集合的交,并,差.doc

相关文档

文档介绍

文档介绍:【问题描述】
编制一个能演示执行集合的并、交和差运算的程序
【基本要求】
(1)集合的元素限定为小写字母字符[ 'a'......'z' ]
(2 )演示程序以用户和计算机对话的方式执行
【测试数据】
【实现提示】
以有序链表表示集合
【代码过程】
1。先定义集合的数据类型

//
typedef struct LNode...{
ElemType data;
LNode *next;
}*Link, *Position;
typedef struct...{
Link head,tail;
int len;
}LinkSet;
//~
2。以后要用的一些常量放在
#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。集合实现函数
/**//****************** 函数定义*********************/
Status InitSets(LinkSet &ls)...{
//初始化集合
= (Link) malloc( sizeof(Link));
= (Link) malloc( sizeof(Link));
if(! || !) exit(OVERFLOW); //如果分配失败
->next = ->next = NULL; //头、尾指针为空
= 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(!->next) return ;
Link h1 = ->next, h2 = h1->next; //h1:前一节点,h2:前一节点的后一节点
if(link->data < h1->data) return ; //如果比第一个节点小,返回头指针
while(h1 && h2).