实验二 线性表其应用(III)

实验二 线性表其应用(III)

ID:28700638

大小:214.38 KB

页数:11页

时间:2018-12-13

实验二 线性表其应用(III)_第1页
实验二 线性表其应用(III)_第2页
实验二 线性表其应用(III)_第3页
实验二 线性表其应用(III)_第4页
实验二 线性表其应用(III)_第5页
资源描述:

《实验二 线性表其应用(III)》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

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;intm;system("title数据结构实验实验二:线性表及其应用(Ⅲ)");//

4、设置标题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)的表达式printf("请输入多项式P2(x)的项数:");scanf_s("%d",&m);Great

5、Polynomial_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);//销毁加法运算生成的多项式P3SubPolynomial_L(P1,P2,P3);//多项式P1(x)和P2(x

6、)相减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求微分printf("*4多项式微分d[P1(x)]/dx:");PrintPolynomial_L(P1);IntegralPolyno

7、mial_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_#defineADT_H_/******************

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。