太原理工大学数据结构实验一.docxVIP

  1. 1、本文档共10页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
太原理工大学数据结构实验一

本科实验报告课程名称:数据结构(C语言版)实验项目:线性表实验地点:软件楼110专业班级:计科1402学号:2014006935学生姓名:陈志棚指导教师:孟亮2015年 12月 22日[问题描述] 习题1:设顺序表A中的数据元素递增有序,试写一程序,将x插入到顺序表的适当位置上,使该表仍然有序。二、[输入]初始化一个递增顺序表,输入一个待插入的数三、[输出]输出插入数后的仍递增顺序表四、[存储结构]采用顺序表存储五、[算法的基本思想]首先初始化一个递增的顺序表,输入待插入的数,将待插入的数一次从顺序表后面往前面的数进行比较,直到遇到的数比待插入的数小,最后将待插入的数插入并输出1六、[源程序]#include stdio.htypedefstruct{int *elem;int length;}SqList;void InsList(SqListL,int x)//比较插入数{inti,j,t;i=L.length-1; while(i=0L.elem[i]=x)//找到待插入的位置i--; j=L.length-1; for(j;ji;j--)L.elem[j+1]=L.elem[j];//插入位置后面所有元素往后移动一个位置L.elem[i+1]=x;L.length++;printf(插入后顺序表为:); for(t=0;tL.length;t++)//输出插入后的顺序表printf(%d ,L.elem[t]);}intmain(){SqList L;inti,x;intA[10]={1,2,4,7,8,10,13,15,19,20};L.elem=A;L.length=10;printf(顺序表为:\n); for(i=0;i10;i++)printf(%d ,L.elem[i]);printf(\n);printf(请输入要插入的数:);scanf(%d,x);InsList(L,x); return 0;}七、[程序运行结果]八、[程序分析]算法执行效率高,实验结果正确!顺序表可以改为手动创建一个顺序表!九、[心得体会]更好的掌握顺序表的插入算法与思想![问题描述] 习题2:用单链表ha 存储多项式A(x )=a0+a1x1+a2x2+…+anxn(其中aI为非零系数),用单链表hb存储多项式B(x )=b0+b1x1+b2x2+…+bmxm(其中bj为非零系数),要求计算C(x )= A(x )+B(x ),结果存到单链表hc中。试写出程序。二、[输入]分别输入两个多项式的系数创建两个多项式。三、[输出]输出两个相加后的多项式。四、[存储结构]采用单链表存储。五、[算法的基本思想]①一般情况下的一元n次多项式可写成pn(x)=p1xe1+p2xe2+……+pmxem?????其中,p1是指数为ei的项的非零系数,且满足0≦e1e2……em=n?,若用一个长度为m且每个元素有两个数据项(系数项和指数项)的线性表((p1,e1),(p2,e2),……,(pm,em))便可惟一确定多项式pn(x)。?②用两个带表头结点的单链表分别存储两个多项式?③根据一元多项式相加的运算规则:对于两个一元多项式中所有指数相同的项,对应系数相加,若其和不为零,则构成“和多项式”中的一项;六、[源程序]#include stdio.h#include malloc.htypedefstructdxs{int a;structdxs *next;}Dxs, *Dxss;void Structure( Dxss head, int n )//多项式输入{Dxss p, q;int a;printf(请输入多项式的系数:\n);p = head;do{scanf(%d, a );q = (Dxss)malloc( sizeof(Dxs) );q-a = a;p-next = q;q-next = NULL;p = q;}while(--n);}void Show( Dxss head )//显示多项式{int m = 0;Dxss p;p = head-next;while( p != NULL ){printf(%d*x^%d, p-a, m++ );p = p-next;if( p != NULL)printf(+);}printf(\n);}void Add( Dxss head1, Dxss head2, Dxss head3 )//将多项式相加{Dxss p, q, l, m;p = head1-next;q = head2-next;l = head3;while((p != NULL) (q != NULL )){m = (Dxss)malloc(sizeof(Dxs));m-a = p-a

文档评论(0)

2017ll + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档