网站大量收购独家精品文档,联系QQ:2885784924

《数据结构程序设计实验》.doc

  1. 1、本文档共36页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
附 录:实验报告模板 电子科技大学计算机学院标 准 实 验 报 告(实验)课程名称:数据结构程序设计实验电子科技大学教务处制表 电 子 科 技 大 学 实 验 报 告 学生姓名: 李阳学 号: 30022指导教师:叶娅兰 实验地点:主楼A2--412实验时间:2011.11.12 一、实验室名称:二、实验项目名称:单链表中表头、表尾及表的中间插入删除操作 三、实验学时:2学时 四、实验原理:单链表的插入、删除算法 五、实验目的:学会对单链表的各种操作 六、实验内容:采用链式存储结构存储’a’,’b’,’c’,’d’,’e’,’f’六个字符,并完成如下操作: (a) 显示第3个数据; (b) 在第2个数据后插入’e’ (c) 删除第3个数据并打印整个链表 (d) 删除链表 七、实验器材(设备、元器件):PC机一台,C语言编译环境 八、实验步骤:#include stdio.h #includestdlib.h typedef struct node{ int data; struct node *next; }node,ListNode;char List_Data(ListNode *L){int i;for(i=0;i2;i++){L=L-next;}printf(L-data/n,L-data);/*输出第三个数*/} /*在位置pos后面插入值为elem的一个数*/void List_Insert(ListNode *L,int pos,char elem){int i;ListNode *s;for(i=0;ipos;i++){L=L-next;}s-data=elem;s-next=L-next;L-next=s;}/*删除位置为pos的值*/char List_Remove(ListNode *L,int pos){int i;ListNode *q;for(i=0;ipos;i++){L=L-next;}q=L-next;L-next=q-next;free(q);if(L){printf(L-data/n,L-data);L=L-next;}}int main(){ListNode *L;int i;char A[]={a,b,c,d,e};if(L){L-data=A[i];L=L-next;i++;}List_Data(L);List_Insert(L,2,e);List_Remove(L,3);return 0;}九、实验数据及结果分析: 十、实验结论:该实验程序可实现对单链表插入和删除操作 十一、总结及心得体会:通过本实验,我们学会了对单链表的各种操作,熟悉了如何编译和调试程序。报 告 评 分:指导教师签字:电 子 科 技 大 学 实 验 报 告 学生姓名: 李阳学 号:30022指导教师:叶娅兰 实验地点:主楼A2--412实验时间:2011.11.12 一、实验室名称:二、实验项目名称:二叉树的左右子树交换 三、实验学时:2学时 四、实验原理:对二叉树的左右子树指针的交换操作和算法 五、实验目的:学会对二叉树的各种操作 六、实验内容:构建如图所示的二叉树; 编写递归算法,交换二叉树的左右子树; 输出按先序遍历得到的新二叉树结果。 七、实验器材(设备、元器件):PC机一台,C语言编译环境 八、实验步骤:#includestdio.h typedef struct TreeNode{ int data; struct TreeNode *lchild,*rchild,*parent; }TreeNode,*Tree; void Tree_Order(TreeNode *bt){ if(bt!=0bt-lchild-lchild!=0) bt=bt-lchild; } void Tree_Change1(TreeNode *bt){/*交换左右子树的值*/int k;TreeNode *s,*t;s=bt-lchild;t=bt-rchild; k=s-data; s-data=t-data; t-data=k; } void Tree_Change2(TreeNode *bt){if(bt-parent!=NULL){ bt=bt-parent; Tree_Change1(bt);}else{bt=bt-rchild;Tree_Change1(bt); } } void PreOrder(TreeNode *bt){/*先序遍历并输出值*/if(bt!=NULL){printf(bt-data/n,bt-data);PreOrder(bt-lchild);PreOrder(bt-rchild);} } int main(){TreeNo

文档评论(0)

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

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

1亿VIP精品文档

相关文档