编写一个函数将循环双链表L=(a,b,c,d)转化为L=(b,a,c,d)
展开全部
语言没说,链表类型没说,语言默认C,链表自己随便吧。
a,b,c,d的类型没说,我默认为node;
swap(L)
{
node* pa = L->phead;
node* pb = pa->pnext;
node* ptemp = pb->pnext;
L->phead = pb;
pb->pprev = L->ptail;
pb->pnext = pa;
pa->pprev = pb;
pa->pnext = ptemp;
}
简单的把第一个节点和第二个节点给替换了一下。
该函数是默认L有头尾指针的。
a,b,c,d的类型没说,我默认为node;
swap(L)
{
node* pa = L->phead;
node* pb = pa->pnext;
node* ptemp = pb->pnext;
L->phead = pb;
pb->pprev = L->ptail;
pb->pnext = pa;
pa->pprev = pb;
pa->pnext = ptemp;
}
简单的把第一个节点和第二个节点给替换了一下。
该函数是默认L有头尾指针的。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询