软件技术基础实验指导0书.docVIP

  1. 1、本文档共17页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
软 件 技 术 基 础 实验指导书 陈帝伊 编著 西北农林科技大学水利与建筑工程学院 2011年11月 实验一 单链表的创建 实验目的 1.熟悉VC++6.0的上机环境; 2.掌握线性表中链表的数据类型描述,特点及其存储结构; 3.掌握单链表的基本操作,创建一个新的链表及其应用; 4.掌握线性表的基本运算及应用。 5.掌握基本的循环结构,以及链表建立的循环结束条件。 6.掌握链表的创建核心语句,以及使学生具备初步的程序调试能力。 实验内容 读入一组数建立链表,以负数作为输入结束。 算法描述 /*本程序已通过上机验证*/ #includestdio.h #includestdlib.h typedef struct EAM /*定义结点类型,并定义EMP代表该类型*/ { double x; struct EAM *next; }EMP; struct typelist /*定义一个全局变量EMPlist,作为将要建立的链表的类型*/ { EMP *head,*rear; long len; }EMPlist; /*该结构体用于记录建立链表的头尾指针以及元素结点的个数*/ long creat(EMP *head) /*创建链表,以负数结束(负数不纳入链点)*/ { EMP* p; double x; scanf(%lf,x); while(x=0) {p=(EMP*)malloc(sizeof(EMP)); p-x=x; head-next=p; head=head-next; EMPlist.len++; scanf(%lf,x); } p-next=NULL; /**/ EMPlist.rear=p; return EMPlist.len; /**/ } /*主函数中调用子函数进行相应的验证*/ void main() { long n=0; EMPlist.head=(EMP*)malloc(sizeof(EMP));/*参数的初始化*/ EMPlist.head-next=NULL; /*该链表结构体的各成员在使用前有必要进行初始化*/ EMPlist.rear=NULL; EMPlist.len=0; printf(请输入相关数据:\n); n=creat(EMPlist.head); /*调用创建函数*/ } 子函数的基本思想: 子函数根据主函数传来的链表头采用尾插法进行延长,并最终保证末尾结点的指针域指向为空。 下面是本程序的流程图: 上机检验数据为: 10 58 97 105 135 20 -1 15 48 对应建立的链表如下: 实验二 单链表的删除 实验目的 1.掌握线性表中链表的数据类型描述,特点及其存储结构; 2.掌握单链表的基本操作,删除链表中的一个数据及应用。 3.深刻理解和掌握删除链点的循环条件和循环实现条件。 实验内容 检查一个单向链表,删除其中数据大于100的元素。 算法实现 ······ long creat(EMP *head) ;/*创建函数和输出函数已经编过了,所以在此不再赘述*/ void output(EMP *p); long delet(EMP* p,int n)/*删除表中大于n的结点*/ { EMP* q; q=p; /*循环的准备*/ p=p-next; while(p!=NULL) { if(p-xn) /*满足条件删除*/ { q-next=p-next; EMPlist.len--; p=q-next;continue;/*跳过后面语句,直接进行下一次循环*/ } q=p; /*结点的地址跳换,为下一次循环做准备*/ p=p-next; } return EMPlist.len; } void main() { long n; EMPlist.head=(EMP*)malloc(sizeof(EMP));/*参数的初始化*/ EMPlist.head-next=NULL; EMPlist.rear=NULL; EMPlist.len=0; printf(请输入相关数据:\n); n=creat(EMPlist.head); /*调用创建函数*/ printf(\n创建后结果:\n)

文档评论(0)

xiongdihao + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档