基于顺序表的集合并交叉讲述.docx

  1. 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
基于顺序表的集合并交叉讲述

数 据 结 构 课 程 设 计 基于顺序表的集合的并、交、差运算 学 生 姓 名: 学 号: 指 导 教 师: 完 成 日 期: 2015.12.24 目 录 1 设计任务书 1 1.1 题目与要求 1 1.2 知识点 1 1.3 输入输出分析 1 1.4 测试数据分析 1 2 概要设计 1 2.1 结构体类型及函数声明 1 2.2 主程序流程 2 2.3 模块流程说明 3 3 详细设计 5 3.1 数据类型实现 5 ;3.2 程序代码 5 4 调试分析 13 4.1 问题分析与回顾 13 4.2 经验和体会 13 5 测试结果 14 参考文献 16 1 设计任务书 1.1 题目与要求 题目:基于顺序表的集合的并、交、差运算: (1)、利用顺序表存放集合的元素。顺序表需要有自动扩充空间的功能。顺序表的基本操作(插入、删除、查找等)要用函数实现。 (2)、在顺序表基础上实现集合的并、交、差。 (3)、要求有合理的输入输出。 (4)、界面要尽可能美观,要方便操作。 (5)、该题目最高成绩为“良好”。 1.2 知识点 顺序表的初始化、建立、插入、删除等操作,并基于线性表进行集合的并交叉运算。 1.3 输入输出分析 (1)在顺序表的插入删除操作函数中,通过get()函数向函数中输入数据,这样可以不用事先规定顺序表的长度。 (2)在集合的并交叉操作函数中,将数组作为集合的载体构建顺序表,并通过交并差函数输出数据。 1.4 测试数据分析 在插入删除操作中,如果插入删除位置出错,则会提示用户输入错误,并返回系统error,本系统只实现数字集合的交并差运算,暂不实现其他类型元素的运算。 2 概要设计 2.1 结构体类型及函数声明 (1)结构体 ElemType *elem; 定义ElemType类型的储存空间基址; int length; 定义顺序表的当前长度; int listsize; 定义当前分配的储存容量; (2)函数声明 Status ChaJi(SqList l1,SqList l2) 求差集函数; Status CreatSqList(SqList l,ElemType a[],int n) 创建顺序表函数; Status equal(ElemType e1,ElemType e2) 比较函数; Status GetElem(SqList L,int i,ElemType e) 返回数据值函数; Status InitList(SqList l) 初始化函数; Status JiaoJi(SqList l1,SqList l2, SqList l3) 求交集函数; Status ListDelete(SqList L,int i,ElemType e) 删除函数; void ListDisp_Sq(SqList L) 显示函数; Status ListInsert_Sq(SqList L,int i, ElemType e) 插入函数; int ListLength(SqList l) 求表长函数; int LocateElem_Sq(SqList L, ElemType e, Status (*compare)(ElemType,ElemType)) 返回比较值函数; int main() 主函数; void Outputlist(SqList L) 输出函数; void Union(SqList La,SqList Lb) 求并集函数; 2.2 主程序流程 (1)主程序调用模块图 主程序利用switch()语句实现各个模块的调用,主函数调用如图1所示。         图1 主程序调用模块图 2.3 模块流程说明 主函数对各主要模块进行调用,各个主要模块又分别调用其他子模块。下面用简要流程图对各主要模块进行说明。 (1) 插入模块 如图2所示,为插入模块。先通过键盘读取选择信息,再调用insert()函数,用户输入信息无误,调用inser()函数插入。 图2 插入模块 (2)删除模块 如图3所示为删除流程图。录入删除信息,判断合法则删除,否则结束。 图3删除模块 (3)集合交并差模块 如图4为集合交并差流程图。 图4集合交并差模块 3 详细设计 3.1 数据类型实现 顺序表结构体 typedef struct{ ElemType *elem; int l

文档评论(0)

shuwkb + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档