欢迎来到天天文库
浏览记录
ID:41861214
大小:168.90 KB
页数:6页
时间:2019-09-03
《链表多项式加法的实现》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、昆明理工大学信息工程与自动化学院学生实验报告0〉(2011—2012学年第1学期)课程名称:数据结构开课实验室:信自楼4452012年10月11日年级、专业、班计科111学号201110405108姓名周天成绩实验项目名称1.单链表多项式加法算法实现指导教师冯松教师评语教师签名:年月日一、上机内容和目的内容:实现单链表多项式加法算法操作。目的:1.巩固链表的定义,相关运算,及其存储结构的描述方法和学会使用循环链表优化运算。2.掌握循环链表的创建与调用。3.了解多项式求和的基本思路同时明确链表相加的方法。二、设计思路由实验要求可知以下设
2、计思路:菜单函数(main)卩厂建立多、项式"合并多项式并输出结果A退出3<丿k)L丿核心程序:多项式合并voidhebing()if(il>=i2){j=i2;p=a;}else{j=il;p=b;}printf(v建立一个和多项式〃);dxs*he,*r3;he=(structduoxiangshi*)ni311oc(sizcof(dxs));//建立多项式r3=he;ql=a;q2=b;ql=ql->next;q2=q2->ncxt;wh订e((ql!=a)&&(q2!=b)){if((ql->zhishu)==(q2-〉zhi
3、shu)){x二ql->xishu+q2->xishu;if(x!=O){r3->next=(structduoxiangshi*)mnlloc(sizeof(dxs));r3=r3->next;r3->xishu=x;r3-〉zhishu二ql->zhishu;iql二ql->next;q2二q2->next;ielse{r3->next=(structduoxiangshi*)malloc(sizeof(dxs));r3=r3">next;if(ql->zhishu>q2-〉zhishu)r3->xishu=ql->xishu;r
4、3-〉zhishu二ql->zhishu;ql二ql->next;Ielse{r3->xishu=q2->xishu;r3-〉zhishu二q2-〉zhishu;q2二q2-〉next;!}Iwhile(ql!=a)Ir3~>next二(struetduoxiangshi*)malloc(sizeof(dxs));r3=r3->ncxt;r3-〉xishu二ql-〉xishu;r3-〉zhishu二ql->zhishu;ql=ql->next;while(q2!=b)r3->ncxt=(structduoxiangshi*)mallo
5、c(sizcof(dxs));r3=r3~>next;r3-〉xishu二q2-〉xishu;r3->zhishu=q2->zhishu;q2二q2->next;}r3-〉next二NULL;p二he->next;r3=he;whi1e(r3-〉next!=NULL){printf(〃%fx%d+〃,p->xishu,p->zhishu);p=p->next;r3=r3->next;}三、程序运行结果:X.000000X2+D:勢项式dxsDebugdxs.exe4262建规刖—请请请请请请请请2-Dnu-4-7口D式253式
6、去一工一工越页页DJI加多多项•:參-」2S不项数数数项数数数个式'一项数数二项数数Jin立入入入立入入入B釐^一^刪四、实验小结本实验是对多项式的合并求和,也就是把不同链表数据合并。此次实验以链表实现充分的说明了链表在插入删除操作中的优势,在数据长度未知的情况下链表的灵活性跃然纸上。注:实验源程序见文件polynomial.cpp
此文档下载收益归作者所有