




已阅读5页,还剩8页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
数据结构实验报告数据结构实验报告 实验一实验一 一元多项式的表示和相减 相乘一元多项式的表示和相减 相乘 一 实验目的 1 1 掌握链表的存储方式 2 2 掌握一元多项式的存储及运算 二 实验内容 已知一元多项式 P x 和 Q x 已存在 求 P x Q x 和 P x Q x 并输出 要求 1 通过键盘随机输入两多项式 P x 和 Q x 的内容 2 输出结果要有 P x 和 Q x 的以及它们的差 P x Q x 和乘积 P x Q x 三 实验步骤 1 创建一元多项 P x 和 Q x 2 求 P x Q x P x Q x 3 输出 P x Q x P x Q x P x Q x 四 算法说明 首先 定义一元多项式的存储方式 然后从键盘输入 P x 和 Q x 对应多项 式的各对系数和指数 建立相应的一元多项式 5 测试结果参考下图 多项式相减 多项式相乘 数据结构实验报告数据结构实验报告 六 源代码 1 多项式的相减 include include typedef struct float coef 系数 int expn 指数 ElemType typedef struct LNode 结点类型 ElemType data struct LNode next LinkList void MakeNode LinkList s data e 数据结构实验报告数据结构实验报告 void InsAfter LinkList p LinkList s 插入结点 s next p next p next s int compare ElemType e1 ElemType e2 比较 if e1 expn e2 expn return 1 else if e1 expnnext s while q int n compare e q data if ndata coef q data coef e coef if q data coef 0 p next q next free q break 数据结构实验报告数据结构实验报告 p p next q p next if q NULL MakeNode s e InsAfter p s 最大 放在最后一个位置 void InitList LinkList L next NULL void SetCurElem LinkList p data expn e expn void CreatePolyn LinkList ElemType e e coef 0 0 e expn 1 SetCurElem L e 设置头结点的数据元素 printf 请输入 d 对多项式的值 n m for int i 1 inext if p 第一个输出 printf 2fX d p data coef p data expn p p next while p if p data coef 0 printf printf 2fX d p data coef p data expn p p next printf n void ListDestroy LinkList while p q p p p next free q void subtract LinkList L1 LinkList L2 LinkList InitList L3 e coef 0 0 数据结构实验报告数据结构实验报告 e expn 1 SetCurElem L3 e 设置头结点的数据元素 LinkList p1 L1 next p2 L2 next q r1 始终指向新建链表的尾部 p1 和 p2 表示当前结点 while p2 p2 data coef p2 data coef p2 p2 next p2 L2 next while p1 switch n case 1 OrderInsert L3 p1 data compare p1 p1 next break L1 中的值小 插入之 case 1 OrderInsert L3 p2 data compare p2 p2 next break L2 中的值小 插入之 case 0 相同 e coef p1 data coef p2 data coef e expn p1 data expn if e coef 0 OrderInsert L3 e compare p1 p1 next p2 p2 next break if p1 OrderInsert L3 p1 data compare p1 p1 next 添加 L1 else if p2 OrderInsert L3 p2 data compare p2 p2 next 添加 L2 数据结构实验报告数据结构实验报告 LinkList FindThan LinkList X LinkList L LinkList Tmp Tmp L while Tmp next NULL return Tmp int main LinkList L1 L2 L3 L4 int m n printf 请输入多项式 P X 的项数 scanf d CreatePolyn L1 m printf 多项式 P X 为 n show L1 printf 请输入多项式 Q X 的项数 scanf d CreatePolyn L2 n printf 多项式 Q X 为 n show L2 subtract L1 L2 L3 printf 多项式 P X Q X 为 n show L3 return 0 数据结构实验报告数据结构实验报告 2 多项式的相乘 include include typedef struct float coef 系数 int expn 指数 ElemType typedef struct LNode 结点类型 ElemType data struct LNode next LinkList void MakeNode LinkList s data e void InsAfter LinkList p LinkList s 插入结点 s next p next p next s int compare ElemType e1 ElemType e2 比较 if e1 expn e2 expn return 1 else if e1 expnnext s while q int n compare e q data if ndata coef q data coef e coef if q data coef 0 p next q next free q break p p next q p next if q NULL MakeNode s e InsAfter p s 最大 放在最后一个位置 void InitList LinkList L next NULL 数据结构实验报告数据结构实验报告 void SetCurElem LinkList p data expn e expn void CreatePolyn LinkList ElemType e e coef 0 0 e expn 1 SetCurElem L e 设置头结点的数据元素 printf 请输入 d 对多项式的值 n m for int i 1 inext if p 第一个输出 printf 2fX d p data coef p data expn p p next while p if p data coef 0 printf printf 2fX d p data coef p data expn p p next 数据结构实验报告数据结构实验报告 printf n void ListDestroy LinkList while p q p p p next free q void Multiply LinkList L1 LinkList L2 LinkList InitList L3 e coef 0 0 e expn 1 SetCurElem L3 e 设置头结点的数据元素 LinkList p1 L1 next p2 L2 next q r1 始终指向新建链表的尾部 p1 和 p2 表示当前结点 while p1 p2 L2 next while p2 e coef p1 data coef p2 data coef e expn p1 data expn p2 data expn OrderInsert L3 e compare p2 p2 next p1 p1 next 数据结构实验报告数据结构实验报告 int main LinkList L1 L2 L3 int m n printf 请输入多项式 P X 的项数 scanf d CreatePolyn L1 m printf 多项式 P X 为 n show L1 printf 请输入多项式 Q X 的项数 scanf d CreatePolyn L2 n printf 多项式 Q X 为 n show L2 Multiply L1 L2 L3 printf 多项式 P X Q X 为 n show L3 return 0 7 分析总结 本程序从源代码开始经过多次调试 一开始创建多项式并没有遇到什么问题 但是减法开始遇到问题 好在经过调试和反复检验后问题都得以解决 在多项 式相加的基础上修改 相减和相乘就容易得多 相减主要是整体把另一个多项 式前加一个负号 总的运算还是和相加一样 而相乘 需要两
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 电竞公司招标公告管理办法
- 农民合作社内部成员责任与权益分配方案协议
- 智能交通信号灯自适应控制预案
- 不同运动类型抗癌效果比较-洞察及研究
- 2026届浙江省温州市“十五校联合体”化学高一上期末考试模拟试题含解析
- 2026届吉林省舒兰一中、吉化一中、九台一中、榆树实验中学等八校联考化学高二上期中质量跟踪监视试题含解析
- 白沙黎族自治县电梯安全管理人员刷题练习卷和答案
- 理论应用规范确保操控精准性
- (2025年标准)果地分割协议书
- 化肥行业智能农业生产与施肥方案
- 舆情安全管理办法
- 2025个人洗护市场趋势洞察报告-魔镜洞察
- 厨房4D管理课件下载
- 心脏起搏器植入术超声评估要点
- 外聘律师管理办法范本
- 2025至2030临床前CRO治疗行业发展趋势分析与未来投资战略咨询研究报告
- 酒精戒断综合症治疗方案讲课件
- 工程造价培训用课件
- 混凝土浇筑作业平台承重验算
- JG/T 220-2016铜铝复合柱翼型散热器
- 美乐家退会员终止协议书
评论
0/150
提交评论