Create Polynomial using Linked List
In the representation of a polynomial, there are some terms. Each term has a coefficient and exponent. Now we can define a structure for each node and whenever required we can create such a new node against each term. Therefore the structure definition looks like this:
struct Polynomial
{
int iCoeff;
int iExp;
struct Polynomial *ptrNext;
}
typedef Polynomial PolyNode;
Create a Polynomial list:
We know how to append a node at the end of a singly linked list. Now to create a polynomial using a linked list, we need to append the new node at the last of the list.
Algorithm for Polynomial list:
Algorithm fnCreate_Polynomial(ptrPoly, iCoeff, iExp)
{
PolyNode *ptrTemp, *ptrNewNode;
ptrTemp=ptrPoly;
ptrNewNode=(PolyNode*) malloc(sizeof(PolyNode));
if(ptrPoly==NULL)
ptrPoly=ptrNewNode;
else
{
while(ptrTemp->ptrNext!=NULL)
ptrTemp=ptrTemp->ptrNext;
ptrTemp->ptrNext=ptrNewNode;
}
ptrNewNode->iCoeff=iCoeff;
ptrTemp->iExp=iExp;
ptrTemp->ptrNext=NULL;
return ptrPoly;
} / End of Algorithm