在数据结构线性表的链表学习中有一个很有趣的题目:计算两个多项式的加、减、乘和多项式的导数。
题目不难,将多项式的系数和指数存进链表,然后进行相应操作即可。
一、加法:
1、判断指数是否相等,若相等则将系数相加,相加后不为零就开辟新空间,将新的系数存入结点,尾插进新链表中。
2、如果表达式1的指数小于表达式2的指数,就将表达式1的该结点数据复制进新结点中,并将新结点尾插进新链表。
3、如果表达式2的指数小于表达式1的指数,就将表达式2的该结点数据复制进新结点中,并将新结点尾插进新链表。
4、返回新链表的头指针。
二、减法:
1、将被减链表的每一项的系数都乘以-1,执行两个表达式相加操作。
2、将被减链表复原。
三、乘法:
将链表1的每一项乘以链表2的每一项,然后将它们相加。
四、导数:
将链表的指数和系数相乘,再将指数减一。
代码:
#include <stdio.h>
#include <stdli