多项式ADT链表实现
头文件
typedef struct Node *PtrToNode;
struct Node
{
int Cofficient;
int Exponent;
PtrToNode Next;
};
typedef PtrToNode Polynomial;
代码部分
#include <stdio.h>
#include <stdlib.h>
#include "PloynomialADTList.h"
#include<time.h>
#define SIZENODE 10
void ShowAPoly(Polynomial Poly)
{
Polynomial P1 = Poly;
for (; P1 != NULL; P1 = P1->Next)
{
printf("%d %d ", P1->Cofficient, P1->Exponent);
}
}
Polynomial ZeroPloynomial(Polynomial Poly)
{
Poly=(Polynomial)malloc(sizeof(struct Node));
Poly->Next = NULL;
Poly->Cofficient = 0;
Poly->Exponent = 0;
return Poly;
}
Polynomial InsertPolynomial(int Cofficient1, int Exponent1, Polynomial Poly)
{
Polynomial temp = (Polynomial)malloc(sizeof(struct Node));
temp->Next = NULL;
temp->Cofficient = Cofficient1;
temp->Exponent = Exponent1;
Polynomial p = Poly;
while (Poly)
{
Polynomial last = NULL;
if (Poly->Exponent == temp->Exponent)
{
Poly->Cofficient += temp->