线性表分为顺序表和链表两种
这里就是学习用链表实现多项式加法
用链表表示多项式,并实现多项式的加法运算
输入格式:
输入在第一行给出第一个多项式POLYA的系数和指数,并以0,0 结束第一个多项式的输入;在第二行出第一个多项式POLYB的系数和指数,并以0,0 结束第一个多项式的输入。
输出格式:
对每一组输入,在一行中输出POLYA+POLYB和多项式的系数和指数。
首先定义需要用到的结构体
data为系数 ZHI为指数
PNode表示结点 LinkList表示链表
#include<stdio.h>
#include<stdlib.h>
typedef int DataType;
struct Node {
DataType data;
DataType ZHI;
struct Node* next;
};
typedef struct Node *PNode;
typedef struct Node *LinkList;
当接收的系数和指数同时为0的时候停止输入。
LinkList JIA(LinkList head1,LinkList head2);
LinkList SetNullList_Link()
{
LinkList head = (LinkList)malloc(sizeof(struct Node));
if (head != NULL) head->next = NULL;
else printf("alloc failure");
return head;
}
int IsNull_Link(LinkList llist)
{
return(llist->next == NULL);
}
void CreateList(struct Node* head)
{
PNode p = NULL;
PNode q = head,w=head,s=head->next; <