void reverse_list(LinkedListTP *head)
{LStackTP ls,p;
DataType x;
InitStack(&ls);
p=head->next;
while(p!=NULL)
{Push (&ls,p->data);
p=p->next;
p=head->next;}
While(! EmptyStack(&ls))
{Pop(&ls,&x);
p->data=x;
p=p->next;
}
}
本文介绍了一种使用栈来实现链表逆序的方法。通过遍历原链表并将每个节点的数据压入栈中,再依次弹出栈中的元素赋值给新链表的节点,从而完成链表的逆序。这是一种简单而有效的链表逆序算法。
void reverse_list(LinkedListTP *head)
{LStackTP ls,p;
DataType x;
InitStack(&ls);
p=head->next;
while(p!=NULL)
{Push (&ls,p->data);
p=p->next;
p=head->next;}
While(! EmptyStack(&ls))
{Pop(&ls,&x);
p->data=x;
p=p->next;
}
}

被折叠的 条评论
为什么被折叠?