思维导图
尾插
DoubleLink insert_rear(DoubleLink head,datatype element)
{
DoubleLink s=create();
if(s==NULL)
return head;
s->data=element;
if(head==NULL)
head=s;
else
{
DoubleLink p=head;
while(p->next!=head)
{
p=p->next;
}
p->next=s;
s->priv=p;
s->next=head;
head->priv=s;
}
return head;
}
头删
DoubleLink delete_head(DoubleLink head)
{
if(head==NULL)
return head;
if(head->next==NULL)
{
free(head);
head=NULL;
}
else
{
DoubleLink p=head;
while(p->next!=head)
{
p=p->next;
}
DoubleLink del=head;
head=head->next;
head->priv=p;
p->next=head;
free(del);
del=NULL;
}
return head;
}
尾删
DoubleLink delete_rear(DoubleLink head)
{
if(head==NULL)
return head;
if(head->next==head)
{
free(head);
head=NULL;
}
else
{
DoubleLink p=head;
while(p->next!=head)
{
p=p->next;
}
p->priv->next=head;
head->priv=p->priv;
free(p);
p=NULL;
}
return head;
}