一元稀疏多项式的计算
1.问题描述
[题目描述]
能够按照指数降序排列建立并输出多项式;能够完成两个多项式的相加、相减,并将结果输出;
[基本要求]
以链式存储结构实现多项式。
2.需求分析
typedef struct
{
int coef; //系数
int expn; //指数
}term;
typedef struct LNode
{
term data; //term多项式值
struct LNode *next;//指针域
}LNode,*LinkList;
typedef LinkList polynomail;
3.算法设计
1. cmp(term a,term b) /*比较指数*/
2. arrange(polynomail pa) /*又大到小排列*/
3. creatpolyn(polynomail P,int m) /*1、创建并初始化多项式链表*/
4. addpolyn(polynomail pa,polynomail pb) /*2、两多项式相加*/
5. subpolyn(polynomail pa,polynomail pb) /*3、两多项式相减*/
6. delpolyn(polynomail pa,polynomail pb) /*4、销毁已建立的两个多项式*/
4.调试分析
本题采用的是链式存储结构,其优点是:插入和删除元素很方便,使用灵活;其缺点是:存储密度小(<1),存储空间利用率低。
5.实验结果
#include<stdio.h>
#include<stdlib.h>
#include<malloc.h>
typedef struct
{
int coef