实现双向链表删除一个节点P,在节点P后插入一个节点,写出这两个函数;

2014-11-24 01:45:52 · 作者: · 浏览: 26

template void list ::delnode(int p)
{
int k=1;
listnode *ptr,*t;
ptr=first;
while(ptr->next!=NULL&&k!=p)
{
ptr=ptr->next;
k++;
}
t=ptr->next;
cout<<"你已经将数据项 "< data<<"删除"< ptr->next=ptr->next->next;
length–;
delete t;
}
在节点P后插入一个节点:
template bool list ::insert(type t,int p)
{
listnode *ptr;
ptr=first;

int k=1;
while(ptr!=NULL&&k {
ptr=ptr->next;
k++;
}
if(ptr==NULL&&k!=p)
return false;
else
{
listnode *tp;
tp=new listnode ;
tp->data=t;
tp->next=ptr->next;
ptr->next=tp;
length++;
return true;
}
}