#include<stdio.h>
#include<stdlib.h>
#define Status int
#define OVERFLOW -1
#define ERROR -2
#define OK 1
typedef struct {
// 项的表示
float coef; // 系数
int expn; // 指数
} term, ElemType;
typedef struct LNode{
ElemType data;
struct LNode *next;
}*LinkList;
typedef LinkList polynomial;
//1.初始化
Status InitPolyn(polynomial &P){
P = (polynomial)malloc(sizeof(LNode));
if (!P)
{
exit(OVERFLOW);
}
P->next = NULL;
return OK;
}
//2.销毁链表
Status DestoryPolyn(polynomial &P){
polynomial p;
while (P->next)
{
p = P->next;
P->next = p->next;
free(p);
}
return OK;
}
Status ClearPolyn(polynomial &P){
polynomial p = P->next;
polynomial s;
while (p)
{
s = p;
p = p->next;
free(s);
}
return OK;
}
//3.判断链表是否为空
bool PolynEmpty(polynomial P){
if (P->next){
return true;
}
else
{
return false;
}
}
//4.求链表的长度
Status PolynLength(polynomial P){
int j = 0;
polynomial p = P;
while (p->next!=NULL)
{
j++;
p = p->next;
}
return j;
}
数据结构(3):一元多项式的基本操作
最新推荐文章于 2021-11-13 00:22:05 发布
本文探讨了数据结构中的一元多项式,详细阐述了如何进行加法、减法、乘法等基本运算,并讨论了一元多项式的存储结构和高效实现方法。通过对系数的管理,实现了多项式的快速操作,对于理解数据结构与算法有重要意义。
摘要由CSDN通过智能技术生成