bsp; /*指数*/
struct node *next; /*指向结构体的指针*/
}potynode;/*建立连表,返回指向多项式头节点的指针*/
potynode *creat_potynodetail()
{potynode *l,*s,*r; /*声明结构体指针*/
float c; /*系数*/
int e; /*指数,建立头节点,头节点指针设置为空*/
l=(potynode *)malloc(sizeof(potynode));
l->next=null; /*是指针r指向头节点*/
r=l;
printf("\ninput coef and expn :");
scanf("%f%d",&c,&e);
while(c!=0) /*输入的第一项系数不允许为0,防止无意义的输入*/
{/*初始化节点*/
s=(potynode *)malloc(sizeof(potynode));s->coef=c;s->expn=e;s->next=null;
r->next=s; /*连接节点*/
r=s; /*指针r指向当前节点,用于连接下一节点*/
printf("\ncoef and expn :");
scanf("%f%d",&c,&e);
} return l;
}/*获得多项式的长度,参数为多项式头节点指针*/
int getlength(potynode *l)
{potynode *p;int count=0;p=l->next;
while(p)
{count++;p=p->next ;}
return count;}/*获得指向i节点的指针,在删除节点的时候来获得准备删除的前一节点*/
potynode *getelem_potynode(potynode *l,int i)
{potynode *p;int j=0;p=l;
while(p->next&&j!=i) /*当p不是尾节点,并且不是第 i 个节点*/
{ j++;p=p->next;}
if(i==j)
return p; /*找到节点*/
else
return null; /*没有找到节点*/}/*删除节点i*/
int delete_potynode(potynode *l,int i)
{potynode *q,*p;/*获得节点i的前一个节点,便
上一页 [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] 下一页