public void Insert(IPolynomNode inode, int value) { DoublePolynomNode node = inode as DoublePolynomNode; if (node.Power != 0) { if (node.Next.Power == node.Power - 1) throw new Exception("Нет свободной степени для вставки"); else { DoublePolynomNode insnode = new DoublePolynomNode(value, node.Power - 1); insnode.Next = node.Next; node.Next.Prev = insnode; node.Next = insnode; insnode.Prev = node; } } }
public void Insert(IPolynomNode inode, int value) { PolynomNode node = inode as PolynomNode; if (node.Power != 0) { if (node.ChildNode == null) { node.ChildNode = new PolynomNode(value, node.Power - 1); } else { if (node.ChildNode.Power == node.Power - 1) throw new Exception("Нет свободной степени для вставки"); else { PolynomNode ins = new PolynomNode(value, node.Power - 1); ins.ChildNode = node.ChildNode; node.ChildNode = ins; } } } }