




已阅读5页,还剩5页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
计算机科学与工程学院计算机科学与工程学院 算法与数据结构算法与数据结构 实验报告实验报告 二二 专业班级 2013 级计算机工程专 业 02 班 实验地点403 机房 学生学号 1305120617 指导教师蔡琼 学生姓名魏伟实验时间 2015 04 11 实验项目链表的应用 实验类别基础性 设计性 综合性 其它 实验目的 及要求 1 熟练掌握链表结构及有关算法的设计 2 掌握用链表表示特定形式的数据的方法 并能编写出有 关运算的算法 成 绩 评 定 表 类 别评 分 标 准分值得分合 计 上机表现 积极出勤 遵守纪律 按要求完成设计任务 3030 分 程序与报告 程序代码规范 功能正确 报告详实完整 体现收获 7070 分 说明 说明 评阅教师 评阅教师 蔡琼蔡琼 日日 期 期 20152015 年年 4 4 月月 1818 计算机科学与工程学院 算法与数据结构 实验报告2 日日 实 验 内 容 计算机科学与工程学院 算法与数据结构 实验报告3 一 实验内容 一元多项式求和 把任意给定的两个一元多项式 P x Q x 输入计算机 计算它们的和 并输出计算结果 实验说明 一元多项式可以用单链表表示 结点结构图示如下 一元多项式算法伪代码如下 二 设计思路 本程序中 要求用户输入两个一元多项式 将其分别存入两个线性链表中 待计算机将其求和后 将最后结果存入另一个线性链表中 并输出结果 根据 一元多项式链表的结点结构 coef exp next 1 工作指针 p q 初始化 2 while p 存在且 q 存在 执行下列三种情形之一 2 1 如果 p expexp 则指针 p 后移 2 2 如果 p exp q exp 则 2 2 1 将结点 q 插入到结点 p 之前 2 2 2 指针 q 指向原指结点的下一个结点 2 3 如果 p exp q exp 则 2 3 1 p coef p coef q coef 2 3 2 如果 p coef 0 则执行下列操作 否则 指针 p 后移 2 3 2 1 删除结点 p 2 3 2 2 使指针 p 指向它原指结点的下一个结点 2 3 3 删除结点 q 2 3 4 使指针 q 指向它原指结点的下一个结点 3 如果 q 不为空 将结点 q 链接在第一个单链表的后面 计算机科学与工程学院 算法与数据结构 实验报告4 需求 需构造线性链表存储结构 创建三个空链表 和三个函数 一个为求和 函数 一个为输入函数 一个为输出函数 求和函数中应包括一元多项式中各 系数的的比较 相加排序等 采用顺序存储结构存储多项式系数 A 使多项式的某些运算变得更简洁 但 在实际使用时 多项式的阶数可能很高 不同的多项式阶数可能相差很大 这 使顺序存储结构的最大长度难以确定 而且 最高次幂与最低次幂项之间缺项 很多时 采用顺序存储结构显然十分浪费存储空间 因此 一般情况下多采用 链式存储结构来存储高阶多项式 在用线性链表来存储一个多项式时 多项式中的每个非零项系数对应一个结点 结点由数据元素项和指针组成 数据元素项中包含系数和指数值 设计中先定义定义数据元素中的数据 其中有指数 系数级指针 next 等 并要 先构造一元多项式 在定义输出 删除 合并等模块 实 验 内 容 计算机科学与工程学院 算法与数据结构 实验报告5 三 预期结果 a 3x 4 2x 3 5x 2 x b 7x 4 5x 3 3x 2 x 输出为 c 10 x 4 3x 3 2x 2 2x 四 程序代码 include include typedef struct LNode int x z struct LNode next LinkList void OutLinkList LinkList L 输出函数 void PutLinkList LinkList 输入函数 LinkList AddLinkList LinkList a LinkList b 求和函数 void OutXLinkList LinkList L void OutZLinkList LinkList L void main int n m LinkList a b c printf 请输入一元多项式 a 的项数 m scanf d printf 请按照从低次到高次的顺序依此输入一元多项式 a 的系数和指数 n PutLinkList a m printf a OutLinkList a printf 请输入一元多项式 b 的项数 n scanf d printf 请按照从低次到高次的顺序依此输入一元多项式 b 的系数和指数 n PutLinkList b n printf b OutLinkList b c AddLinkList a b printf 两个多项式的和为 na b OutLinkList c void PutLinkList LinkList L LinkList malloc sizeof LinkList r L for int i 0 ix printf 请输入第 d 项的指数 i 1 scanf d r next s r s r next NULL 多项式输出函数 void OutLinkList LinkList L char FuHao LinkList p L next FuHao p x 0 if FuHao printf c FuHao if p x 1 printf 1 OutXLinkList p OutZLinkList p p p next while p NULL FuHao p x 0 printf c FuHao OutXLinkList p OutZLinkList p p p next printf n 输出系数函数 void OutXLinkList LinkList L int xi L x 0 L x L x if L x 1 L x 1 else printf d xi 计算机科学与工程学院 算法与数据结构 实验报告7 输出指数函数 void OutZLinkList LinkList L if L z 0 else if L z 1 L z 1 if L zx 1 L x 1 printf 1 printf printf X else if L zz 0 L z L z printf X d zhi LinkList AddLinkList LinkList a LinkList b a a next b b next LinkList c d s c LinkList malloc sizeof LinkList d c while a NULL s x b x s z b z d next s d s b b next else if a z b z s LinkList malloc sizeof LinkList s x a x 计算机科学与工程学院 算法与数据结构 实验报告8 s z a z d next s d s a a next else s LinkList malloc sizeof LinkList s x a x b x s z a z if s x 0 else d next s d s a a next b b next if a NULL d next a else if b NULL d next b else d next NULL return c
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 陕西省2025年安全c3题库及答案解析
- 南航安全员双证考试题库及答案解析
- 滁州会计从业资格证考试及答案解析
- 2025年安全培训考试试题完整及答案
- 课间活动安全测试题及答案解析
- 教师资格考试初中信息技术学科知识与教学能力试题及解答2025年附答案
- 2025年手机维修考试题及答案
- 最难的生物考试题及答案
- 模拟客户场景测试题及答案
- 2025年集团法务考试试题及答案
- 血透患者跌倒的预防及管理
- 自产自销收购合同范本
- 砼回弹强度自动计算表
- 医防融合知识讲座
- 培养幼儿的语言能力
- 《认识几种常见的岩石》说课稿、教案和教学设计
- 黑布林英语阅读初一年级16《柳林风声》译文和答案
- 广东省监理从业人员网络继续教育平台题库
- YY/T 1268-2023环氧乙烷灭菌的产品追加和过程等效
- 平地机操作规程
- HY/T 0302-2021沸石离子筛法海水提钾工程设计规范
评论
0/150
提交评论