数据结构之多项式
下面是对多项式的基本输入和输出
#include "stdio.h" #include "stdlib.h" typedef struct PolyNode *Polynomial; struct PolyNode { int coef; int expon; Polynomial link; }; Polynomial ReadPoly(void); Polynomial Mult(Polynomial P_1,Polynomial P_2); Polynomial Add(Polynomial P_1,Polynomial P_2); void PrintPoly(Polynomial P); void Attach(int c,int e,Polynomial *pRear); int main(void) { Polynomial P1; P1=ReadPoly(); PrintPoly(P1); wait(60); return 0; } Polynomial ReadPoly(void)//读取多项式 { Polynomial P,Rear,t; int c,e,N; scanf("%d",&N); P=(Polynomial)malloc(sizeof(struct PolyNode)); P->link=NULL; Rear=P; while(N--) { scanf("%d %d",&c,&e); Attach(c, e, &Rear); } t=P; P=P->link; free(t); return P; } void Attach(int c,int e,Polynomial *pRear) { Polynomial P; P=(Polynomial)malloc(sizeof(struct PolyNode)); P->coef=c; P->expon=e; P->link=NULL; (*pRear)->link=P; *pRear=P; } void PrintPoly(Polynomial P) { int flag=0; if(!P){printf("0 0\n");return ; } while(P) { if(!flag) flag=1; else printf(" "); printf("%d %d",P->coef,P->expon); P=P->link; } }