知方号

知方号

数据结构用链表实现一元多项式相加减(C语言版)

数据结构用链表实现一元多项式相加减(C语言版)

一元多项式的表示及相加

提示:这里可以添加系列文章的所有文章的目录,目录需要自己手动添加

文章目录 一元多项式的表示及相加 前言 一、大体思路 二、具体代码 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

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至lizi9903@foxmail.com举报,一经查实,本站将立刻删除。