哪位高手帮我实现下数据结构中把双向链表中的结点倒序排序,不可以使用临时的链表来辅助倒叙过程。

来源:百度知道 编辑:UC知道 时间:2024/05/25 12:59:53
提示:使用分别指向链表两端的FRONT和LAST指针,从两端想中间遍历,交换两个指针所指结点的数值,直至FIRST等于LAST,或LAST成为FRONT的前趋。。。想了好久做不出来,希望大家帮帮忙啦

void change(DList *p)
{
DList *FRONT=p,*LAST=p;
int tem;
while (LAST->next) LAST=LAST->next;/*next指向下一个结点*/
while (FRONT!=LAST&&FRONT->pre!=LAST){/*pre指向上一个结点*/
tem=FRONT->data;/*数据域是data,类型是int*/
FRONT->data=LAST->data;
LAST->data=tem;
FRONT=FRONT->next;
LAST=LAST->pre;
}