数据结构课程设计(1)

数据结构课程设计(1)

ID:25797612

大小:1.09 MB

页数:21页

时间:2018-11-22

数据结构课程设计(1)_第1页
数据结构课程设计(1)_第2页
数据结构课程设计(1)_第3页
数据结构课程设计(1)_第4页
数据结构课程设计(1)_第5页
资源描述:

《数据结构课程设计(1)》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、课程设计报告册2013—2014学年度第一学期计算机院/系信息管理与信息系统专业11年级1班课程名称:数据结构课程设计姓名:XXX学号:XXX201.程序设计与实现1.1一元多项式计算1.需求分析建立一元多项式并按照指数降序排列输出多项式,将一元多项式输入并储存在内存中,能够完成两个多项式的加减运算并输出结果。2.概要设计存储结构:一元多项式的的表示可以在计算机内用链表表示,为了节省存储空间,只存储多项式中系数非零的项。链表中的每一个结点存放多项式非零的项,它包含三个域,分别存放该项的系数、指数及指向下一个多项式结点的指针。创建一元多项式链

2、表,对一元多项式的运算会出现各种可能情况进行分析,实现一元多项式的相加、相减操作。原因:多项式项数不确定,并且指数不一定相连,宜采用链表。所要设计的模块有:(1).voidstart()//用户选择界面的功能模块。(2).voidinsert(PLOY*head,PLOY*inpt)//查找位置插入新链节程序的功能模块。(3).PLOY*creat(charch)//输入并建立多项式的功能模块。此模块按照指数递减的顺序和一定的输入格式输入各个子项的“系数-指数对”,循环输入一个子项建立一个相关结点,当输入结束标志的时候就停止输入。(4).P

3、LOY*addPLOY(PLOY*head,PLOY*pre)//多项式相加的功能模块。此模块根据建立的两个多项式f(x),g(x)进行相加的运算,存放在F(x)中,并不改变F(x)链表。(5).PLOY*minusPLOY(PLOY*head,PLOY*pre)//多项式相减的功能模块。此模块根据建立的两个多项式f(x),g(x)进行相减的运算,存放在F(x)中,并不改变F(x)链表。(6).PLOY*byPLOY(PLOY*head1,PLOY*head2)//多项式相乘的功能模块。此模块根据建立的两个多项式f(x),g(x)进行相乘的

4、运算,存放在F(x)中,并不改变F(x)链表。(7).voidprint(PLOY*fun)//输出多项式的功能模块。(8).主函数main(),利用switch()实现各函数的调用,系统根据用户输入的数字来调用相应的函数。3.详细设计核心算法程序段:(1).多项式相加PLOY*addPLOY(PLOY*head,PLOY*pre)20{PLOY*inpt;intflag=0;while(flag==0){if(pre->next==NULL)flag=1;//当现在指向空时跳出循环else{pre=pre->next;inpt=(PLOY

5、*)malloc(sizeof(PLOY));//创建新链节inpt->coef=pre->coef;inpt->expn=pre->expn;inpt->next=NULL;insert(head,inpt);}//否则把当前"g(x)"的链节插入到"y(x)"中}returnhead;}(2).多项式相减PLOY*minusPLOY(PLOY*head,PLOY*pre){PLOY*inpt;intflag=0;while(flag==0){if(pre->next==NULL)flag=1;//当现在指向空时跳出循环else{pre=

6、pre->next;inpt=(PLOY*)malloc(sizeof(PLOY));//创建新链节inpt->coef=0-pre->coef;inpt->expn=pre->expn;20inpt->next=NULL;insert(head,inpt);}//否则把当前"g(x)"的链节插入到"y(x)"中}returnhead;}(3).多项式相乘PLOY*byPLOY(PLOY*head1,PLOY*head2){PLOY*inpt,*res,*pre;intflag=0;res=(PLOY*)malloc(sizeof(PLOY

7、));//创建链表头res->next=NULL;head1=head1->next;pre=head2;while(flag==0){if(pre->next==NULL){pre=head2;//当现在指向空时跳出循环head1=head1->next;continue;}if(head1==NULL){flag=1;//当现在指向空时跳出循环continue;}pre=pre->next;inpt=(PLOY*)malloc(sizeof(PLOY));//创建新链节inpt->coef=pre->coef*head1->coef;i

8、npt->expn=pre->expn+head1->expn;inpt->next=NULL;insert(res,inpt);//把当前"g(x)"的链节插入到"y(x)"中

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

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

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