双向链表的尾删
double_link delete_rear(double_link L)
{
if(NULL==L)
{
return NULL;
}
else if(L->next==NULL)
{
free(L);
L=NULL;
}
else
{
double_link q=L;
while(q->next->next!=NULL)
{
q=q->next;
}
free(q->next);
q->next=NULL;
}
return L;
}
双向链表的释放
double_link free_space(double_link L)
{
if(NULL==L)
{
return NULL;
}
while(L!=NULL)
{
L=delete_rear(L);
}
return L;
}
双向循环链表的尾删
double_link delete_rear(double_link L)
{
if(NULL==L)
{
return NULL;
}
else if(L->next==L)
{
free(L);
L=NULL;
}
else
{
double_link q=L->priv->priv;
free(q->next);
q->next=NULL;
q->next=L;
L->priv=q;
}
return L;
}
双向循环链表的释放
double_link free_space(double_link L)
{
if(NULL==L)
{
return NULL;
}
while(L!=NULL)
{
L=delete_rear(L);
}
return L;
}