}
void insertbefore(node<type> *p)
{
p->link = current;
prior->link = p;
prior = p;
}
void lastinsert(node<type> *p)
{
p->link = null;
last->link = p;
last = p;
}
node<type> *premove()
{
if (current != null && prior != null)
{
node<type> *p = current;