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