从尾到头打印链表
来源:互联网 发布:c语言怎么读文本文件 编辑:程序博客网 时间:2024/06/07 15:14
从尾到头打印链表,这里的链表一般都是指单链表,因为如果是双向链表就没什么可以打印的了。
方法一(利用栈)
因为链表是头到尾的去遍历的,如果要从尾到头的去遍历,那么很容易想到栈这种数据结构来解决这个问题。
栈这种数据结构,如下图堆积起来的书,只能从顶部堆积(即push操作)或者拿走(即pop操作)书籍。
代码如下:
typedef struct listnode{ int key; struct listnode *next;}listnode;void print_linkedlist_reverse(listnode *head){ std::stack <listnode *> nodes; listnode *p = head; while (p != NULL){ nodes.push(p); p = p->next; } while ( !nodes.empty() ){ p = nodes.top(); printf("%d\t", p->key); nodes.pop(); }}
注意:若链表很长,函数层级调用很深,可能会导致函数调用栈溢出。
方法二(利用头插入操作)
阅读全文
0 0
- 从尾到头打印链表
- 从尾到头打印链表
- 从尾到头打印链表
- 从尾到头打印链表
- 1、从尾到头打印链表
- 从尾到头打印链表
- 从尾到头打印链表
- 【20】从尾到头打印链表
- 从尾到头打印链表
- 从尾到头打印链表
- 从尾到头打印链表
- 从尾到头打印链表
- 从尾到头打印链表
- 从尾到头打印链表
- Offer5 从尾到头打印链表
- 从尾到头打印链表
- 1、从尾到头打印链表
- 从尾到头打印链表
- JS 判断数据类型的方法
- 不定长数组vector,STL的使用
- 在Hibernate中Transformers的所有转换都是需要实现ResultTransformer接口。
- leetcode 130. Surrounded Regions
- 支付网关的设计
- 从尾到头打印链表
- TLS重新协商显示扩展,RFC5746
- linux系统磁盘文件夹占用大小和清理
- 14_扫雷游戏地雷数计算
- PAT乙级1008. 数组元素循环右移问题 (20)
- 第一次
- Android前沿技术
- 小米与的OPPO对立,因为有这个功能,所以我更喜欢小米
- C++ Primer 1.6 C++程序