大数据结构实验教案设计.doc

  1. 1、本文档共44页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
word word PAGE / NUMPAGES word 实验一 线性表的实验 一、实验目的与要求 1、掌握用Visual C++6.0调试顺序表的根本方法。 2、掌握顺序表的根本操作,插入、删除、查找、以与有序顺序表的合并等算法的实现。 3、掌握用Visual C++6.0上机调试单链表的根本方法。 4、掌握单链表的插入、删除、查找、求表长以与有序单链表的合并算法的实现。 5、进一步掌握循环单链表的插入、删除、查找算法的实现。 二、实验学时 4学时 实验任务 任务一:用顺序表实现通讯录管理 构建通讯录的顺序表并输出检验。 增加插入记录的功能并输出检验。 3、增加按学号查找的功能并运行验证。 4、增加删除记录的功能并运行验证。 任务二:用链表实现通讯录管理 1、构建通讯录的链表并输出检验 2、增加插入记录的功能并输出检验。 3、增加按学号查找的功能并运行验证。 4、增加删除记录的功能并运行验证。 四、实验重点、难点 在顺序表中移动元素。 在顺序表中找到正确的插入位置。 在单链表中寻找到第i-1个结点并用指针p指示。 比拟两个单链表的节点数据大小。 五、操作内容与要求 任务一:用顺序表实现通讯录管理 构建如表1所示的顺序表并输出检验,实现表1。 增加插入记录的功能并输出检验,实现表2。 增加按学号查找的功能并运行验证。 增加删除记录的功能并运行验证。 表1 学号 某某 性别 手机 号 2013001 X珊 女 34578 表2 2013002 李思 女 8796532 2013003 陈琪 女 3789123 2013004 王强 男 6543783 2013005 赵括 男 5679 2013006 X刚 男 98315 注意:用结构化程序设计的方法实现即〔其中的〕把单一功能设计成一个独立的函数。如构建顺序表设计成一个函数,同样插入、查找、删除、输出也设计成独立的函数。 任务二:用链表实现通讯录管理 1、构建通讯录的链表并输出检验,实现表1。 2、增加插入记录的功能并输出检验,实现表2。 3、增加按学号查找的功能并运行验证。 4、增加删除记录的功能并运行验证。 实验解答参考: 要完成此功能,先要考虑数据类型,再给出构建顺序表的函数与输出的函数,然后可以写出主函数了。 参考代码如下: #includestdio.h #includestdlib.h #includestring.h #define LIST_INIT_SIZE 100 #define LISTINCREMENT 10 typedef struct{ char xuehao[14];//学号 char name[20]; //某某 int sex; //性别 char tel[14]; //联系 char [12]; // 号 }ElemType; typedef struct{ ElemType *elem;//顺序表的存储空间基址,相当于一个一维的数组名 int length;//表的实际元素个数,即表的长度 int listsize;//最大可存储的元素个数,表的长度的上限 }SqList; void InitSeqList(SqList L) { char flag; int i,n; ElemType *p; L.elem=(ElemType *)malloc(LIST_INIT_SIZE*sizeof(ElemType)); L.length=0; L.listsize=LIST_INIT_SIZE; printf(是否输入初始数据?〔Y/N〕); scanf(%c,flag); if(flag==N||flag==n) return; printf(请输入初始化数据的个数:); scanf(%d,n); if(nL.listsize) {printf(数据太多,不足以存储!);return;} p=L.elem; L.length=n; for(i=0;in;i++) { printf(请输入第%d个数据(学号 某某 性别〔0或1〕 联系 号):\n,i+1); scanf(%s%s%d%s%s,p-xuehao,p-name,p-sex,p-tel,p- ); p++; } return; } void PrintSeqList(SqList L) { int i; printf(学号 某某 性别 联系 号\n); for(i=0;iL.length;i++) { printf(%-14s%-14s,L.elem[i].xuehao,L.elem[i].name); if(L

文档评论(0)

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

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

1亿VIP精品文档

相关文档