欢迎来到天天文库
浏览记录
ID:57438663
大小:30.53 KB
页数:3页
时间:2020-08-16
《国开(电大)数据结构课程实验报告.docx》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、数据结构课程实验报告学生姓名李曼竹学号85班级指导老师实验名称实验2线性表实验成绩实验报告实验概述实验目的及要求:掌握线性表的基本操作如线性表的初始化、查找、插入、删除等,以及线性表的存储结构的运用,并利用线性表实现一元多项式的相加。实验内容实验设计思路、步骤和方法等:通过对线性表的基本操作,对线性表进行初始化,用带表头结点的有序链表表示多项式,通过一系列线性表的基本操作实现一元多项式相加。设p,q分别指向A,B中某一结点,p,q初值是第一结点,比较p->exp与q->exp,p->expexp:p结点是结果多项式中的一项,p后移,q不动;p->exp>q->exp:q结点
2、是结果多项式中的一项,将q插在p之前,q后移,p不动;p->exp=q->exp:系数相加,直到p或q为NULL。typedefOrderedLinkListpolynomial;//用带表头结点的有序链表表示多项式结点的数据元素类型定义为:typedefstructpolynomialnode{//项的表示floatcoef;//系数intexpn;//指数structpolynomialnode*next;}polynomialnode,*polynomial;voidaddpolyn(polynomial&la,polynomial&lb){pa=la->next;pb=lb
3、->next;pc=la;//pa,pb分别指向la,lb的第一个结点while(pa&&pb){a=pa->expn;b=pb->expn;switch(*cmp(a,b)){//a,b分别为pa,pb所指结点的指数case-1:pc=pa;pa=pa->next;break;//acoef+pb->coef;if(sum<>0){pa->coef=sum;pc=pa;}else{pc->next=pa->next;free(pa);}pa=pc->next;u=pb;pb=pb->next;free(u);break;}//a=bcase1:{
4、u=pb->next;pb->next=pa;pc->next=pb;pc=pb;pb=u;break;}//a>b}//switch}//whileif(pb){pc->next=pb;}free(lb);}实验结果:实验小结实验的心得体会:一元多项式的相加运用的是有序链表来实现其功能的,在编程过程中,抽象数据类型Polynomial的实现是重要的一部分,用去很长时间。编程最重要的是运行程序和调试程序的过程。编写程序时要特别注意数据类型的定义。指导教师评语指导教师日期
此文档下载收益归作者所有