欢迎来到天天文库
浏览记录
ID:48936174
大小:203.47 KB
页数:11页
时间:2020-02-25
《实验二_线性表和应用(III).doc》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、..姓名学号实验项目线性表及其应用(III)实验内容采用链式存储结构,两个项目选择一个项目完成:1.编制一个演示集合的并、交和差运算的程序。(具体要求见题集第80页1.3)2.一元稀疏多项式的计算。要求实现多项式存储、输出显示、相加、相减、相乘。(具体要求见题集第81页1.5)算法设计与程序实现:算法分析本次实验的目的是理解和掌握线性表链式存储结构的用法。根据多项式的加法运算法则和乘法运算法则进行多项式的运算。程序设计流程图如下所示:1.多项式加法运算程序流程..下载可编辑....本函数的基本思想是先对两个链表中非空的部分进行指数比较,当指数不等时,将指数小的数
2、据复制到新开辟结点中,指数大的结点继续与下一个结点比较,当指数相等时,将两个结点系数合并,判断系数是否为零,若为零则不开辟新结点,否则开辟新结点复制数据。2.多项式乘法运算程序流程图:..下载可编辑....本函数的基本思想是将用两层循环分别遍历链表,用Pa的任一项乘以Pb的每一项,将乘积结果通过后续函数合并化简。3.多项式链表排序流程图:..下载可编辑....本函数的基本思想是运用选择排序算法,首先通过外层循环确定一个位置,即内层循环起始位置,然后用一个指针p遍历链表,并通过一个指针s指向内层循环中数据最小的结点,最后用内层循环结束后的指针s与内层循环起始指针比
3、较,不等则交换,从而实现排序。核心程序此程序中用到的自己编写的头文件以在下面给出,而头文件的说明则在主函数中文件包含部分的注释处,核心程序如下:1.主函数如下:#include"stdafx.h"//标准输入输出函数头文件#include"windows.h"//cmd窗口设置函数头文件#include"ADT.h"//数据结构中相关结构体类型定义及相关数据类型定义#include"DataStructure_LinearList.h"//数据结构第二章线性表中相关函数的定义及声明intmain(){..下载可编辑....PolynomialP1,P2,P3;i
4、ntm;system("title数据结构实验实验二:线性表及其应用(Ⅲ)");//设置标题system("colorF1");//设置控制台窗口的背景色和前景色system("date/T");//输出当前的日期printf("请输入多项式P1(x)的项数:");scanf_s("%d",&m);GreatPolynomial_L(P1,m);//根据输入数据创建一个多项式的单链表P1SortPolynomial_L(P1);//对多项式按照指数大小排序printf("P1(x):");PrintPolynomial_L(P1);//打印多项式P1(x)的表达
5、式printf("请输入多项式P2(x)的项数:");scanf_s("%d",&m);GreatPolynomial_L(P2,m);//根据输入数据创建一个多项式的单链表P2SortPolynomial_L(P2);//对多项式按照指数大小排序printf("P2(x):");PrintPolynomial_L(P2);AddPolynomial_L(P1,P2,P3);//多项式P1(x)和P2(x)相加printf("*1多项式加法P1(x)+P2(x):");PrintPolynomial_L(P3);DestroyPolynomial_L(P3);/
6、/销毁加法运算生成的多项式P3SubPolynomial_L(P1,P2,P3);//多项式P1(x)和P2(x)相减printf("*2多项式减法P1(x)-P2(x):");PrintPolynomial_L(P3);DestroyPolynomial_L(P3);//销毁减法运算生成的多项式P3MultiPolynomial_L(P1,P2,P3);//多项式P1(x)和P2(x)相乘printf("*3多项式乘法P1(x)*P2(x):");PrintPolynomial_L(P3);DiffPolynomial_L(P1);//对多项式P1求微分pri
7、ntf("*4多项式微分d[P1(x)]/dx:");PrintPolynomial_L(P1);IntegralPolynomial_L(P2);//对多项式P2求积分printf("*5多项式积分Int[P2(x),x]:");PrintPolynomial_L(P2);DestroyPolynomial_L(P1);//销毁多项式链表P1DestroyPolynomial_L(P2);//销毁多项式链表P2DestroyPolynomial_L(P3);//销毁多项式链表P3return0;}2.头文件”ADT.h”的部分程序如下:#ifndefADT_H
8、_#defineADT_
此文档下载收益归作者所有