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

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

ID:61515814

大小:64.00 KB

页数:10页

时间:2021-02-09

软件技术基础实验指导书.doc_第1页
软件技术基础实验指导书.doc_第2页
软件技术基础实验指导书.doc_第3页
软件技术基础实验指导书.doc_第4页
软件技术基础实验指导书.doc_第5页
资源描述:

《软件技术基础实验指导书.doc》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、软件技术基础实验指导书目录实验一单链表的运算2实验二二叉树的建立和遍历5实验三二叉排序树的建立和查找8实验一单链表的运算一、实验目的1.掌握单链表的基本运算:建立、插入和删除2.掌握运用C语言上机调试单链表的基本方法。二、实验环境操作系统和C语言系统三、预习要求了解单链表的建立、插入和删除算法,编写完整的程序。四、实验内容设计算法,实现线性结构上的单链表的产生以及元素的查找、插入与删除。具体实现要求:(1)从键盘输入n个整数,以0作为结束标记,产生不带表头的单链表,并输入结点值。(2)从键盘输入1个结点值,在单链表中查找该结点的位置。若找到,则显

2、示“找到了”,并输出它在链表中的位置;否则显示“找不到”。(3)从键盘输入2个整数,一个表示欲插入的结点值x,另一个表示欲插入的数值key,将x插入到值为x的结点前,输出单链表所有结点值,观察输出结果。(4)从键盘输入1个结点值x,表示欲删除的结点,删除该结点,输出单链表所有结点值,观察输出结果。五、参考算法#include#include/*单链表的定义*/typedefintDataType;/*DataType可以是任何相应的数据类型如int,float或char*/typedefstructnode/

3、*结点类型定义*/{DataTypedata;/*结点的数据域*/structnode*next;/*结点的指针域*/}ListNode;typedefListNode*LinkList;voidmain(){DataTypekey,x;LinkListhead,head1,head2;ListNode*s;LinkListCreateList(void);voidPrintList(LinkListhead);LinkListLocateNode(LinkListhead,DataTypekey);LinkListInsertList(Link

4、Listhead,DataTypex,DataTypekey);LinkListDeleteList(LinkListhead,DataTypex);head=CreateList();/*建立单链表*/PrintList(head);/*打印单链表*/printf("输入要查找的值:");scanf("%d",&key);s=LocateNode(head,key);/*单链表查找*/printf("请输入欲插入到哪个元素前:");scanf("%d",&x);printf("请输入欲插入的元素:");scanf("%d",&key);head

5、1=InsertList(head,x,key);/*单链表插入*/PrintList(head1);/*打印单链表*/printf("请输入欲删除的结点:");scanf("%d",&x);head2=DeleteList(head1,x);/*单链表删除*/PrintList(head2);/*打印单链表*/}/*单链表的建立,从前向后或从后向前生成*/LinkListCreateList(void){//在此插入必要语句}/*单链表的打印*/voidPrintList(LinkListhead){//在此插入必要语句}/*单链表的查找,输入

6、一个结点值key,显示该结点的位置*/LinkListLocateNode(LinkListhead,DataTypekey){//在此插入必要语句}/*单链表的插入,将值为key的新结点插入到不带头结点的单链表值为x的结点前*/voidInsertList(LinkListhead,DataTypex,DataTypekey){//在此插入必要语句}/*单链表的删除,删除不带头结点的单链表中值为x的结点*/intDeleteList(LinkListhead,DataTypex){//在此插入必要语句}一、思考题如果生成带头结点的单链表,程序应

7、如何修改?二、实验报告要求具体内容包含以下几项:实验题目、实验目的、实验环境、实验内容与完成情况(要求附上自主设计的源程序)、实验中出现的问题、对问题的解决方案、完成思考题、实验总结等。实验二二叉树的建立和遍历一、实验目的1.掌握二叉树的建立算法2.掌握二叉树的前序、中序和后序遍历算法。二、实验环境操作系统和C语言系统三、预习要求复习二叉树的生成及遍历算法,编写完整的程序。四、实验内容要求采用二叉链表作为存储结构,完成二叉树的建立,前序、中序和后序遍历的操作,求所有叶子及结点总数的操作等。具体实现要求:分别利用前序遍历、中序遍历、后序遍历所建二叉

8、树。五、参考算法二叉树的建立算法思路:主要利用二叉树的性质:在编号的完全二叉树中,编号为i的结点如果存在左孩子,则其编号为2i;若其存在

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。