if (iter.position == NULL)
{
push_back(s);
return;
}
Node* after = iter.position; Node* before = after->previous;
newnode->previous = before; newnode->next = after;
after->previous = newnode; if (before == NULL) /* insert at beginning */ first = newnode; else before->next = newnode;