该代码实现多项式的相加
主要函数:
1. 按照升序将结点插入链表
2. 输出链表
3. 两链表相加的过程
输入格式请看程序提示。
#include <stdio.h>
#include <stdlib.h>
#include <Windows.h>
#define FALSE 0
#define TRUE 1
typedef int DataType;
typedef struct tagNode
{
float coef;
int exp;
struct tagNode *pNext;
};
typedef struct tagNode Node;
typedef struct tagNode *pNode;
// 将结点插入到链表的适当位置,这是一个指数升序排列的链表
void insertList(pNode head, pNode pnode) // 链表头结,待插入的结点
{
pNode pPre = head;
while(pPre->pNext != NULL)
{
if (pPre->pNext->exp > pnode->exp)
{
pnode->pNext = pPre->pNext;
pPre->pNext = pnode;
break;
}
else if(pPre->pNext->exp == pnode->exp) // 添加一个判断,判断新加入的结点和之前已加入结点是否有指数相同情况
{