欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    成都理工大学数据结构实验报告.docx

    • 资源ID:78761889       资源大小:318.24KB        全文页数:13页
    • 资源格式: DOCX        下载积分:20金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要20金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    成都理工大学数据结构实验报告.docx

    本科生实验报告实验课程 数据结构 学院名称 信息科学与技术学院 专业名称 电子信息科学与技术 学生姓名 邓泉铃 学生学号 0 指导教师 于真 实验地点 6B604 实验成绩 二一四年十月二十九日 二一四年十二月十日数据结构实验报告摘要上机实验是对学生的一种全面综合训练,是与课堂听讲、自学和练习相辅相成不可或缺的一环节。实验着眼于原理与应用的结合,使读者学会如何把书上学到的只是运用到解决实际问题中来,培养动手能力。 本次实验中每个实验题目采取统一格式,包括问题描述、系统设计、系统实现、效率分析四个部分。问题描述旨在让学生建立问题提出的背景,系统设计则让学生在分析问题的基础上设计一相关系统,在系统测试部分则需指出系统功能的具体实现并检验与问题描述中的要求是否相符,在效率分析部分在于让学生明白不仅要设计出能够实现功能的系统,更重的的事还要讲究效率,不忘对系统进行优化。关键字:上机实验;程序设计;调试运行。实验一 线性表的应用一、实验目的:掌握线性表的基本结构和操作方法,培养学生灵活使用结构解决实际问题的能力。二、实验要求:1 认真阅读和掌握本实验的程序。2. 上机运行程序。3. 保存和打印出程序的运行结果,并结合程序进行分析。4. 按照操作需要,打印出文件清单和运行结果。三、实验内容和结果:上机运行给出程序后,实验结果如图:第一步,输入一组数字如(5 4 9 8 7 6 3 8 5 1),用空格隔开,然后存于顺序表中。第二步,输入你想要查找的数字(7),回车后出现的便是此数字所在的位置(3),第三步,输入插入数字的位置(3)再输入要插入的数字(89),回车后出现的便是插入数字后的顺序表,最后一位丢失。第四步,输入要删除数字的位置回车后出现的便是新的顺序表,最后一位数回来了。该程序实现了顺序表的查找,插入,和删除操作。实验作业:设计一个100位以内的长整数加减运算的程序。源程序如下:#include<iostream.h>#include<stdlib.h>int getlength(char *ch) int i;for(i=0;i<100;i+)if(chi='0')break;return i; void plusdata(int *dt,int *pdt,int k,int kk) int i;for(i=0;i<k;i+)dti=dti+pdti;if(dti>9)dti-=10;dti+1+if(dti>9)dti-=10;dti+1+;if(dtkk!=0)i=kk;else i=kk-1;for(;i>=0;i-)cout<<dti;cout<<endl;void minusdata(int *dt,int *mdt,int k,int kk,int signal)int i;for(i=0;i<k;i+)dti=dti-mdti;if(dti<0)dti+=10;dti+1-;if(dti<0)dti+=10;dti+1-;while(dtkk=0)kk-;if(signal=0)cout<<'-'for(i=kk;i>=0;i-)cout<<dti;cout<<endl;void main()char ch1100,ch2100,ch02,ch;int data1100,data2100;int i,j,k1,k2,flag=0;for(i=0;i<100;i+)data1i=0;data2i=0; cout<<"You can input the first data"<<endl; cin>>ch1; cout<<"You can input the second data"<<endl; cin>>ch2; cout<<"What operation you want?( + or - )"<<endl;cin>>ch;ch01='0'j=0; while(ch1j='0')j+;for(i=0;i<99-j;i+)ch1i=ch1i+j;j=0;while(ch2j='0')j+;for(i=0;i<99-j;i+)ch2i=ch2i+j;k1=getlength(ch1);k2=getlength(ch2);j=k1;for(i=0;i<k1;i+) j-; ch00=ch1j; data1i=atoi(ch0); if(ch1i<'0')|(ch1i>'9') flag=1; j=k2; for(i=0;i<k2;i+) j-; ch00=ch2j; data2i=atoi(ch0); if(ch2i<'0')|(ch2i>'9') flag=1; if(flag=0) if(ch='+') if(k1<k2) plusdata(data2,data1,k1,k2); else plusdata(data1,data2,k2,k1);if(ch='-') if(k1=k2) while(data1k1-1=data2k1-1) k1-=1; if(data1k1-1>data2k1-1) minusdata(data1,data2,k2,k2,1); else minusdata(data2,data1,k2,k2,0); else if(k1>k2) minusdata(data1,data2,k2,k1,1); else minusdata(data2,data1,k1,k2,0); else cout<<"You have input a invaluable char!"<<endl; 运行结果如图:实验二 单链表操作一、实验目的:掌握单链表的基本操作:插入、删除、查找等运算。二、实验要求:1 认真阅读和掌握本实验的程序。2. 上机运行程序。3. 保存和打印出程序的运行结果,并结合程序进行分析。4. 按照操作需要,打印出文件清单和运行结果。实验内容和结果:运行所给程序结构如图:第一步,输入一组数字(1 2 3 4 5 6 7 8 9 10 -1)以-1结尾,存放于单链表中,回车后出现的是倒序输出的单链表结果和链表长度(10);第二步,输入查找的位置(2),回车后出现的是该位置上的数字(9);第三步,输入要删除数字的位置(3),回车后出现的便是新的单链表(10 9 7 6 5 4 3 2 1)将8删除了;第四步,输入要插入的位置(5)和数字(99)后,出现的是新的链表(10 9 7 6 99 5 4 3 2 1)。改程序实现了单链表的查找,删除和插入等操作。实验作业:编写一个程序实现下列目标:建立一个链表,用于存放成绩(整型);输出链表中的所有数据、平均成绩和最高成绩。源程序如下:#include<iostream>using namespace std;struct node int ID; int score;node* next; ; void display(const node*); node* create(); void main() node* head = NULL; head = create();if(head != NULL)display(head);else cout<<"学生人数为0"<<endl;node* create() node *head, *temp;int n; cout<<"请输入学生人数:" cin>>n;if(n = 0) return NULL; head = new node;temp = head; for(int i = 1; i <= n; i+) cout<<"请输入第"<<i<<"个学生学号: "cin>>temp->ID;cout<<"请输入第"<<i<<"个学生成绩: "cin>>temp->score;if(i != n)temp->next = new node; temp = temp->next; temp->next = NULL; return head; /display函数/void display(const node* head) int i = 1; int sum = 0; int max = head->score; cout<<endl; while(head) cout<<"第"<<i<<"个学生成绩: "<<head->score<<endl; sum += head->score; if(head->score > max) max = head->score;head = head->next;i+; cout<<"平均分:"<<sum/(i-1)<<endl; cout<<"最高分:"<<max<<endl; 运行结果如下:实验三 数组的基本操作一、实验目的:回顾c语言中数组的定义和基本应用;二、实验要求:1 认真阅读和掌握本实验的程序。2 上机运行本程序。3 保存和打印出程序的运行结果,并结合程序进行分析。三、实验内容:有M个学生,学习N门课程,已知所有学生的各科成绩,编程:分别求每个学生的平均成绩和每门课程的平均成绩。程序如下:#include<stdio.h>#define N 4#define M 5void main()int aNM,i,j;float sum,k;for(i=0;i<N;i+)printf("n输入学生%d的%d门成绩:",i+1,M);for(j=0;j<M;j+)scanf("%d",&aij);for(i=0;i<N;i+)sum=0,k=0;for(j=0;j<M;j+)sum=sum+aij;k=sum/5.0;printf("student %d:%4.2fn",i+1,k);实验四 二叉树一、实验目的:1,进一步掌握指针变量的含义;2,掌握二叉树的结构特征,以及各种存储结构的特点及使用范围;3,掌握用指针类型描述、访问和处理二叉树的运算。二、实验内容: 1,根据输入的数据建立一个二叉树;2,输出二叉树(输出的结果应为树型结构);3,输出其先序、中序和后序遍历的结果。实验程序如下:#include<stdio.h>#include<string.h>#include<malloc.h>#define NULL 0typedef struct BiTNode char data; struct BiTNode *Lchild,*Rchild;BiTNode,*BiTree;BiTree Create(BiTree T) char ch; ch=getchar(); if(ch='#') T=NULL; else if(!(T=(BiTNode *)malloc(sizeof(BiTNode) printf("Error!"); T->data=ch; T->Lchild=Create(T->Lchild); T->Rchild=Create(T->Rchild); return T;void Preorder(BiTree T) if(T) printf("%c",T->data); Preorder(T->Lchild); Preorder(T->Rchild); void zhongxu(BiTree T) if(T) zhongxu(T->Lchild); printf("%c",T->data); zhongxu(T->Rchild); void houxu(BiTree T) if(T) houxu(T->Lchild); houxu(T->Rchild); printf("%c",T->data); void main() BiTree T; printf("请输入数据:n"); T=Create(T); printf("先序遍历为:n"); Preorder(T); printf("中序遍历为:n"); zhongxu(T); printf("后序遍历为:n"); houxu(T); printf("n");运行程序如图:学生实验 心得通过学习以前C语言课程中的函数思想,可以重新熟悉函数在编程中的设置方法,熟悉函数中参数的设置和传递过程,通过多个函数出现在同一个程序中的实现,便于熟悉全局变量和局部变量在程序中的不同作用域的问题。在这门课程中,用到了很多以前没有学习过的函数以及结构体,自己想设计一种算法实在是他不容易了。 运用链表也可以来实现许多相同的功能,但过程相对一些能实现功能的其它程序来说太复杂了,但也是一种好的方法。学生(签名): 年 月 日指导教师评语成绩评定:指导教师(签名): 年 月 日

    注意事项

    本文(成都理工大学数据结构实验报告.docx)为本站会员(飞****2)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开