怎么样实现一个单向链表的逆序输出

小白菜VS 2011-10-15 10:58:13
要求不改变链表的结构
...全文
507 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
MagiSu 2011-10-17
  • 打赏
  • 举报
回复
递归只是把你的手工栈变成计算机的栈而已。本质没有区别。
JieTouLangRen 2011-10-16
  • 打赏
  • 举报
回复
用神奇的栈吧~
动感超哥 2011-10-16
  • 打赏
  • 举报
回复
最好理解的就是用2个链表 把一个’倒‘进去
晨星 2011-10-16
  • 打赏
  • 举报
回复
最简单的是递归。只是如果链表太长,递归层数会比较深。大概这样(假定链表中的数据是整数):
void reverse_output(list l) {
if(!l) return;

reverse_output(l->next);
printf("%d ", l->data);
}
深度抽象 2011-10-16
  • 打赏
  • 举报
回复
使用stl中的list

list<int> L1;

L1.reverse();

好了就是这么简单
FunctionGHW 2011-10-16
  • 打赏
  • 举报
回复
恩。使用栈容易使用,又容易理解。
蛮牛儿 2011-10-16
  • 打赏
  • 举报
回复
嗯,我也觉得用栈比较好
csnd_life 2011-10-16
  • 打赏
  • 举报
回复
学习了,谢谢
lengwuqin 2011-10-16
  • 打赏
  • 举报
回复
二叉树的后序遍历思想,把链表看成是一颗单枝树!
星羽 2011-10-16
  • 打赏
  • 举报
回复
递归和栈都ok
sevekwl 2011-10-16
  • 打赏
  • 举报
回复
其实,我觉得最简单的方法是递归,其次是栈。
递归不需要额外实现任何数据结构。
little_fei7545 2011-10-16
  • 打赏
  • 举报
回复
逆序输出一般最简单的是采用堆栈的方法。栈的特点就是:先进后出。
abee23 2011-10-15
  • 打赏
  • 举报
回复
LZ可以使用一个栈来帮帮你!
栈是FILO的!
历遍一下你的链表,每次把链表项压到栈!

最再读出栈的所有内容就可以了。。

69,369

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧