巴巴鲁 发表于 2020-9-27 20:10:40

求一个用单链表实现逆置的思路

题目:试用单链表作为存储结构,实现将线性表(a0,a1,…an-1)就地逆置的操作
“就地”是指辅助空间应为O(1)。

巴巴鲁 发表于 2020-9-27 20:49:26

大佬们,描述一下思路就好了,我一点头绪都没有

召唤风云 发表于 2020-9-27 22:30:53

假设结构体为s,下一个指针叫next。我写个伪代码,要用3个临时指针,从头改就行,假设pre指向链表开头。
struct s* p1,*p2*p3;
p1=pre->next;
pre->next=NULL;
p3=pre;
p2=p1;
while(p2->next!=NULL)
{
       
        p1=p2->next;
        p2->next=p3;
        p3=p2
        p2=p1;
}
//p2指向结尾
p2->next=p3;
pre=p2;//此时pre指向链表开头

巴巴鲁 发表于 2020-9-28 12:27:54

谢谢!
页: [1]
查看完整版本: 求一个用单链表实现逆置的思路