n = degree c = coefficient prev = Root node = Root if not node: if c: Root = Node(n, c) return while node: if node->degree == n: if c == 0: if node == Root: Root = Root->next else: prev->next = node->next delete (node) else: node->coefficient = c return elif node->degree > n: if c != 0: temp = Node(n, c) if node == Root: Root = temp else: prev->next = temp temp->next = node return prev = node node = node->next