2011.3-软件技术基础实验指导书.pdfVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
2011.3-软件技术基础实验指导书

《软件技术基础》课程实验指导书 实验环境:C/C++语言编程 Turbo C3.0 / Visual C++6.0 一、实验内容 序号 实验内容 实验类型 学时 要求 1 单链表的操作 设计 2 必做 2 堆栈操作 设计 2 必做 3 二叉树操作 设计 2 必做 4 数据的查找与排序 设计 2 必做 二、实验指导 实验一 单链表的操作 一、 实验目的 1.掌握线性表的链式存储结构 (1)线性表的链式存储原理 (2)链式存储结构的优缺点 2.掌握结构体的应用以及数据结点的生成 (1)结构体的定义 (2)动态存储分配函数的使用 (3)强制类型转换的方法 3.掌握指针的应用 (1)巩固指针的含义和用法 (2)结构体指针的使用 二、 预习要求 1.复习C 语言 (1)巩固C 语言程序设计的基本方法 (2)巩固在 TC 或VC 环境中编写和调试 C 程序 2.复习指针和结构体两部分的知识 (1)巩固指针的含义以及定义方式 (2)理解结构体的定义以及其成员的赋值和引用 3.理解课本关于单链表部分的知识 (1)掌握单链表的生成原理和过程 (2)在草稿纸上画出简单程序流程图 三、 实验内容 1.通过C 语言编程,用函数实现不低于五个结点的单链表的建立: (1)要求编写功能函数实现单链表的建立; (2)链表中结点的数据类型为任意原子类型,以下参考算法假设的是整型; (3)采用循环结构建表,以下的循环条件是‘Q’,同学们也可以自定义循环结束标志; (4)编写访问各结点的算法,把建成的单链表顺序输出。 2.实现单链表的插入和删除算法。 3.编写主函数调用以上各算法函数,调试并运行整个程序,分析运行结果。 四、 实验原理 1.尾插法建立单链表 (1)算法原理:从一个空表开始,循环读入数据,生成新结点,将读入数据存放在新结点的数据域 中,然后将新结点插入到当前链表的表尾上,直到循环结束为止。 (2)算法示意图如下,若要建立 L=(A,B,C,D,E)的单链表,则链表结构为: L A B C D E ^ (3)算法描述: //结点结构体定义 struct node { char data; struct node *next; }; ////尾插法,返回单链表的头结点 struct node *create() { struct node *h,*p, *s; elemtype x; h=(struct node *)malloc(sizeof(struct node)); h-next=NULL; printf(\nInput a string and exit with Q: ); scanf(%c,x); while(x!=Q) { s=(struct node *)malloc(sizeof(struct node)); s-data=x; if(h-next NULL) h-next=s;

文档评论(0)

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

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

1亿VIP精品文档

相关文档