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

注意事项: 在磁盘上创建一个目录,专门用于存储数据结构实验的程序。因为机房机器有还原卡,请同学们将文件夹建立在最后一个盘中,以学号为文件夹名。 实验二 单链表操作 1.掌握使用VC++上机调试线性表的基本方法; 2.掌握线性表链式存储结构上的基本操作: 插入、删除、查找以及合并有序表等运算在链式存储结构上的实现。 二 实验要求 1.认真阅读并理解教材上相关操作函数。 2.正确编写本程序并能上机运行。 必须完成: 定义单链表结点结构 建立单链表 求表长 查找元素(给出位序,查找元素值) 插入操作 删除操作 输出表中元素 主函数(操作函数的调用) 选择完成: 翻转表 合并有序表 求两个表并集 可以自己重新编写程序,也可以将参考程序框架中剩余的操作函数补齐。 三 程序框架参考如下 注意: 函数调用时的函数名、实参与函数定义时的函数名、形参要能一一对应。 下列程序中函数的参数有引用参数,若不使用引用参数,而用指针参数的话,应该将主函数中函数调用的形式也改过来。 #includeiostream.h //元素类型以整型为例 typedef int ElemType; //定义结点类型 struct LNode { ElemType data; struct LNode *next; }; typedef struct LNode LNode; typedef struct LNode *LinkList; //求表长 int ListLength(LinkList L) { } //查找元素,获取表中第i个元素的值 int GetElem(LinkList L,int i,ElemType e) { } //判断元素e是否在该链表中 int LocateElem(LinkList La,ElemType e) { LinkList p; p=La; int i=0; while(p-next) { p=p-next; i++; if(p-data==e) return i; } return 0; } //打印表中元素值 void PrintList(LinkList L) { LinkList p; p=L; while(p-next) { p=p-next; coutp-dataends; } coutendl; } //插入操作 int ListInsert(LinkList L,int i,ElemType e) { } //删除操作 int ListDelete(LinkList L,int i,ElemType e) { } // 头插法建表 int CreateList(LinkList L,int n) { } /* //合并两个有序表 void MergeList(LinkList La,LinkList Lb,LinkList Lc) { } //翻转表 void ReverseList(LinkList L) { } //求并集 void UnionList(LinkList La,LinkList Lb) { }*/ //主函数 void main() { LinkList La; ElemType e; int i,n; cout1 建第一个表\n; cout请输入La表中元素个数:; cinn; cout请输入n个元素值:(头插法建表,请逆序输入)\n; CreateList(La,n); cout表中元素为:; PrintList(La); coutLa的表长为:ListLength(La)endl; //取值 cout\n2 查找第i位元素的值:\n请输入位序:; cinn; GetElem(La,n,e); cout第n位元素的值为:eendl; //定位 cout\n3 定位操作:\n请输入要查找的元素:; cine; i=LocateElem(La,e); if(i) cout所要查找的元素在表中第i位\n; else cout表中无该元素\n; //插入 cout\n4 插入操作:\n输入要插入元素的位序:; cini; cout输入要插入的元素值:; cine; ListInsert(La,i,e); cout插入后表中元素为:; PrintList(La); //删除 cout\n4 删除操作:\n输入要删除元素的位序:; cinn; Lis

文档评论(0)

170****0532 + 关注
实名认证
内容提供者

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

版权声明书
用户编号:8015033021000003

1亿VIP精品文档

相关文档