#include<stdio.h>
#include<malloc.h>
//定义结点的结构体
typedef struct
{
float x;//系数
int z;//指数
}polynomial;
typedef struct Node
{
polynomial data;
struct Node *next;
}SLNode;
//初始化
void Initial(SLNode **head)
{
*head=(SLNode *)malloc(sizeof(SLNode));
(*head)->next=NULL;
}
//求当前链表数据元素的个数
int Length(SLNode *head)
{
SLNode *p;//辅助指针
int size=0;
p=head;
while(p!=NULL)
{
size++;
p=p->next;
}
return size;
}
//插入多个元素
void Insert(SLNode *head)
{
SLNode *p,*s;//辅助指针
int m;
float n;
p=head;
printf("输入系数x:");
scanf("%f",&n);
printf("输入指数z:");
scanf("%d",&m);
while(m!=0)
{
s=(SLNode *)malloc(sizeof(SLNode));
s->data.x=n;//系数赋值
s->data.z=m;//指数赋值
p->next=s->next;
p->next=s;
printf("输入系数x:");
scanf("%f",&n);
printf("输入指数z:");
scanf("%d",&m);
}
}
/*删除当前指针所指向的元素
void Delete(SLNode *curr)
{
SLNode *p;//辅助指针
p=curr;
curr=curr->next;//指针后移
free(p);
}
*/
///一元多项式及其操作的实现
#include<stdio.h>
#include<malloc.h>
#include"queue.h"
//建立多项式
SLNode *Creat()
{
SLNode *head,*p,*q;
int i,j;
printf("请输入多项式的项数:");
scanf("%d",&j);
Initial(&head);
for(i=0;i<j;i++)
{ q=head;
p=(SLNode*) malloc(sizeof(SLNode));
printf("请输入第%i项的系数和指数