数据结构课程实 验 报 告

数据结构课程实 验 报 告

ID:9630344

大小:324.50 KB

页数:25页

时间:2018-05-04

数据结构课程实 验 报 告_第1页
数据结构课程实 验 报 告_第2页
数据结构课程实 验 报 告_第3页
数据结构课程实 验 报 告_第4页
数据结构课程实 验 报 告_第5页
资源描述:

《数据结构课程实 验 报 告》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、实验报告专业班级:08级管理科学一班小组成员:吴蓓蕾裴倩茹白雪贾真真完成日期:2010年7月7日小组分工情况题目一:基础题完成人员:白雪题目二:应用题完成人员:吴蓓蕾题目三:综合题完成人员:裴倩茹题目四:拓展题完成人员:贾真真吴蓓蕾短学期小结完成人员:白雪题目一基本题:数制的转换(十进制到m进制转换)1、解题思路(较详细说明)十进制转化即为栈的应用。首先定义栈的结构体,入栈函数,出栈函数。再添加转换函数。转换函数思路:用栈暂存低位值(n/m循环取余,依次压入栈中,直到余数为0时,循环终止。最后,将余

2、数逆序输出,即出栈。)2、函数调用图及各函数的功能(简要说明)函数中用到三个函数:conversion函数,pop函数,push函数Conversion函数为将十进制数n转化为m进制Pop函数为出栈函数Push函数为入栈函数;Main函数函数调用图Conversion函数Pop函数Push函数3、三组测试数据(原始数据,预期结果,实际结果)第一组数据原始数据:取10,2预期结果:1010实际结果:第二组数据原始数据;取15,2预期结果:1111实际结果:第三组数据原始数据:64,8预期结果:100实

3、际结果:4、含注释的源程序(说明主要变量的作用,函数段的功能)#include#include#includestructLstack{//定义链栈的结构体intdata;structLstack*next;};structLstack*push(structLstack*top,intk){//定义入栈函数structLstack*p;p=(structLstack*)malloc(sizeof(structLstack));//新分配一个

4、空间p->data=k;//栈顶top指针上移p->next=top;top=p;returntop;}structLstack*pop(structLstack*top){//定义出栈函数intx;while(top!=NULL){//top不为空时x=top->data;printf("%d",x);//数据输出top=top->next;//栈顶top指针下移}returntop;}voidconversion(intn,intm){//十进制数n与m进制数的转换structLstack*s=

5、NULL;while(n){s=push(s,n%m);n=n/m;}while(s!=NULL)s=pop(s);}voidmain(){intn,m;printf("Input十进制数,转换进制数:");scanf("%d",&n);scanf("%d",&m);conversion(n,m);printf("");}5、编译与运行情况(存在的问题)#include#include添加语句#includestructLstack{in

6、tdata;structLstack*next;};structLstack*push(structLstack*top,intk){structLstack*p;p=(structLstack*)malloc(sizeof(structLstack));未对malloc进行定义,不能应用。p->data=k;p->next=top;top=p;returntop;}structLstack*pop(structLstack*top){intx;while(top!=NULL){x=top->dat

7、a;printf("%d",x);top=top->next;}returntop;}voidconversion(intn,intm){structLstack*s=NULL;while(n){s=push(s,n%m);n=n/m;}while(s!=NULL)s=pop(s);}voidmain(){intn,m;printf("Input十进制数,转换进制数:");scanf("%d",&n);scanf("%d",&m);conversion(n,m);printf("");}题目二应

8、用题:将两个有序线性表合并成一个有序线性表,并去掉重复元素。1、解题思路(较详细说明)算法分析算法主要包括:搜索、比较、插入三个操作。搜索:需要两个指针搜索两个链表;比较:比较结点数据域中数据的大小(实际上是ASCII值的比较);插入:将两个结点中数据小的结点插入新链表2、函数调用图及各函数的功能(简要说明)该程序用到了三个函数:CreateListR函数:功能:建立链表MergeList函数:功能:合并链表PrintList函数:功能:输出链表函数调用图:Main函

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

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

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