提示:这里可以添加系列文章的所有文章的目录,目录需要自己手动添加
文章目录 一元多项式的表示及相加 前言 一、大体思路 二、具体代码 1.结构体的定义与初始化 2.将两个多项式相加 3.输出结果 4.总代码 总结 前言因为老师强烈建议我们自己动手写一下用链表存储的一元多项式。今天下午有时间,就把这个一直以来的心结给解开吧。 提示:以下是本篇文章正文内容,下面案例可供参考
一、大体思路定义一个一元多项式结构体,结构体的数据域为系数和指数。通过尾插法实现带头结点的多项式的创建,然后比较指数大小依次存储在第三个链表中。
二、具体代码 1.结构体的定义与初始化 //定义结构体typedef struct PloyNode{ ElemType coeff;//系数ElemType exp;//参数PloyNode *next;//指针变量 }PloyNode,*PloyList; //输入链表Status InitLinkedList(PloyList &pLHead){ int coeff,exp;pLHead = (PloyList)malloc(sizeof(PloyNode));pLHead->exp = -1;PloyList pTemp = pLHead;pTemp->next = NULL;printf("请输入系数和指数(Ctrl+Z停止) ");while((scanf("%d %d",&coeff,&exp))!=EOF)//这种用法不熟悉的小伙伴们可以自己去查找了解一下哦{ //将输入的系数与参数存储在新生成的节点中,通过尾插法将该节点连接到链表末端。PloyList p = (PloyList)malloc(sizeof(PloyNode));p->coeff = coeff;p->exp = exp;//以下两句就是尾插法的关键语句pTemp->next = p;pTemp = p;}pTemp->next = NULL;//遍历判空时会用到return 0;} 2.将两个多项式相加 Status ListAdd(PloyList p1,PloyList p2,PloyList &p3){ PloyList p3_temp = p3;p1 = p1->next;p2 = p2->next;while