有两个集合用两个线性表LA和LB表示即线性表中的数据元素即为集合中的成员现要求一个新的集合(共5页).doc
《有两个集合用两个线性表LA和LB表示即线性表中的数据元素即为集合中的成员现要求一个新的集合(共5页).doc》由会员分享,可在线阅读,更多相关《有两个集合用两个线性表LA和LB表示即线性表中的数据元素即为集合中的成员现要求一个新的集合(共5页).doc(5页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、精选优质文档-倾情为你奉上例2-1 假设有两个集合A和B分别用两个线性表LA和LB表示,即:线性表中的数据元素即为集合中的成员。现要求一个新的集合AAB。/上述问题可演绎为:要求对线性表作如下操作:扩大线性表LA,将存在于线性表LB中而不存在于线性表LA中的数据元素插入到线性表LA中去。/操作步骤:1从线性表LB中依次察看每个数据元素;GetElem(LB,i)e2依值在线性表LA中进行查访;LocateElem(LA,e,equal( )3若不存在,则插入之。ListInsert(LA,n+1,e)/void union(List &La,List Lb)La_len=ListLength(
2、La);/求线性表的长度Lb_len=ListLength(Lb);for(i=1;i=Lb_len;i+)GetElem(Lb,i,e);/取Lb中第i个数据元素赋给eif(!LocateElem(La,e,equal()ListInsert(La,+La_len,e);/La中不存在和e相同的数据元素,则插入之/union/#ifndef DSH#define DSH#define TRUE 1#define FALSE 0#define OK 1#define ERROR 0#define INFEASIBLE -1#define OVERFLOW -2/Status是函数的类型,其值是
3、函数结果状态代码typedef int Status;typedef int ElemType;#endif/#ifndef LISTH#define LISTH#include ds.h#define LIST_INIT_SIZE 100#define LISTINCREMENT 10typedef structElemType *elem;/存储空间基址int length;/当前长度int listsize;/当前分配的存储容量(以sizeof(ElemType)为单位) List;/俗称顺序表#endifStatus InitList(List &);void CreateList(L
4、ist &, int,int);int ListLength(List);void GetElem(List, int, ElemType &);int LocateElem(List, ElemType, Status (*compare)(ElemType,ElemType);Status ListInsert(List &, int, ElemType);void PrintList(List);/#include #include #include List.hStatus InitList(List &L)/构造一个空的线性表L。L.elem=(ElemType*)malloc(LI
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 两个 集合 线性 LA LB 表示 中的 数据 元素 成员 要求 一个
链接地址:https://www.taowenge.com/p-14196612.html
限制150内