实验报告一课程名称:数据结构实验名称:数据结构实验地点:计算机 110 机房专业班级:计科 Z1501 学号:2015001909 学生姓名:刘元瑞指导教师:孟亮2016 年12 月23 日1.设顺序表A 中的数据元素递增有序,试写一程序,将x 插入到顺序表的适当位置上,使该表仍然有序。2.用单链表ha 存储多项式A(x )=a0+a 1x1+a2x2+⋯+anxn(其中 aI 为非零系数 ),用单链表hb 存储多项式B(x )=b0+b1x1+b2x2+⋯+b mxm(其中 bj 为非零系数 ),要求计算C(x )= A (x )+B(x ),结果存到单链表hc 中。试写出程序。#include #include typedef struct dxs{ int a; struct dxs *next; }Dxs, *Dxss; //函数声明部分void Structure( Dxss head, int n ); //多项式录入void Show( Dxss head ); //显示多项式void Add( Dxss head1, Dxss head2, Dxss head3 ); //将多项式相加void frees( Dxss head ); //释放存储空间void main() { Dxss ha, hb, hc; int n; //为多项式申请头结点空间ha = (Dxss)malloc(sizeof(Dxs)); hb = (Dxss)malloc(sizeof(Dxs)); hc = (Dxss)malloc(sizeof(Dxs)); //从用户处录入多项式的参数printf(" 请输入多项式1 的项数 \n"); scanf("%d", &n); Structure( ha, n ); printf(" 请输入多项式的2 项数 \n"); scanf("%d", &n); Structure( hb, n ); //将多项式进行相加Add(ha, hb, hc); printf(" 多项式 HC 的式子是 \n"); Show( hc ); //将构建的多项式显示出来frees( ha );//释放掉申请的空间frees( hb ); frees( hc ); printf("\n\n"); } 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, ...