数据处理(上)

数据处理(上)

ID:41304288

大小:152.00 KB

页数:11页

时间:2019-08-21

数据处理(上)_第1页
数据处理(上)_第2页
数据处理(上)_第3页
数据处理(上)_第4页
数据处理(上)_第5页
资源描述:

《数据处理(上)》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、滨江学院《数据结构》课程设计题目一元稀疏多项式计算器学号20102346043学生姓名冯浩亮院系滨江学院计算机系专业网络工程指导教师宣文霞二O一二年五月二十日一、需求分析1、输入并建立多项式2、输出多项式,输出形式为整数序列:n,c1,e1,c2,e2……cn,en,其中n是多项式的项数,ci,ei分别为第i项的系数和指数。序列按指数降序排列。3、多项式a和b相加,建立多项式a+b。4、多项式a和b相减,建立多项式a-b。5、用带表头结点的单链表存储多项式。二、概要设计1、输入多项式,建立多项式链表首先创建带头结点的单链表;然后按照指数递减的顺序和一定

2、的输入格式输入各个系数不为0的子项:“系数、指数对”,每输入一个子项就建立一个结点,并将其插入到多项式链表的表尾,如此重复,直至遇到输入结束标志的时候停止,最后生成按指数递减有序的链表。2、主要算法设计typedefstructNode{floatcoef;intindex;structNode*next;}LinkList;本程序涉及到多项式的建立、多项式的输出、两个多项式的相加减。用带头结点的单链表存储多项式;程序中共定义了5个函数:voidInsert(LinkList*p,LinkList*h)//把节点p插入到链表h中LinkList*Cre

3、at_L(LinkList*head,intm)//创建一个链表,项数为mvoidPrintf(LinkList*L)LinkList*ADDlist(LinkList*head,LinkList*pb)LinkList*MinusList(LinkList*head,LinkList*pb)三、详细设计1、数据类型定义可描述如下:typedefstructpnode{floatcoef;/*系数域*/intexp;/*指数域*/structpnode*next;/*指针域,指向下一个系数不为的子项*/}PolyNode,*PolyLink;PolyL

4、inkA,B,C;/*单链表存储的多项式A、B、C*/2、输入多项式,建立多项式链表首先创建带头结点的单链表;然后按照指数递增的顺序和一定的输入格式输入各个系数不为0的子项:“系数、指数对”,必须按照升序输入,每输入一个子项就建立一个结点,并将其插入到多项式链表的表尾,如此重复,直至遇到输入结束标志的时候停止,最后生成按指数递增有序的链表。PolyNode*createList(PolyNode*p)//建立多项式链表{floatm;intn;p=newPolyNode;//申请空间PolyNode*newNode;PolyNode*preNode=p

5、;if(p==NULL){cout<<"内存分配失败!"<next=NULL;cin>>m>>n;while(m!=0

6、

7、n!=0){if(m!=0){newNode=newPolyNode;//为新结点申请内存if(newNode==NULL){cout<<"内存分配失败!"<coef=m;newNode->exp=n;preNode->next=newNode;preNode=newNode;}cin>>m>>n;}newNode->next=NUL

8、L;}returnp;测试数据:(1)(2x+5x8-3.1x11)+(7-5x8+11x9)(2)(6x-3-x+4.4x2-1.2x9)-(-6x-3+5.4x2+7.8x15)(3)(1+x+x2+x3+x4+x5)+(-x3-x4)(4)(x+x2+x3)+0(5)(x+x3)-(-x-x-3)(6)(x+x2+x3)+0四、程序源代码#include#include#include#includetypedefstructNode{floatcoef;intin

9、dex;structNode*next;}LinkList;voidInsert(LinkList*p,LinkList*h)//把节点p插入到链表h中{LinkList*q1,*q2;intflag=0;q1=h;if(p->coef==0)free(p);else{if(q1->next==NULL){q1->next=p;}else{q2=q1->next;while(flag==0){if(p->indexindex){if(q2->next==NULL){q2->next=p;flag=1;}else{q1=q2;q2=q2->ne

10、xt;}}elseif(p->index>q2->index){p->next=q2;q1->

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

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

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