博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
从尾到头输出链表
阅读量:7043 次
发布时间:2019-06-28

本文共 1332 字,大约阅读时间需要 4 分钟。

题目:输入一个链表头结点,从尾到头反过来输出每个结点的值。

链表结点定义如下:

struct ListNode{    int m_nKey;    ListNode* m_pNext;};

答:1、可以先把链表逆置,然后再输出,具体参考

      

     这里我们使用另一种更为简单的方法:递归

#include "stdafx.h"#include 
#include
using namespace std;struct ListNode{ int m_nKey; ListNode* m_pNext;};//构造链表void CreateList(ListNode *&pHead){ fstream fin("list.txt"); ListNode *pNode = NULL; ListNode *pTmp = NULL; int data; fin>>data; while (data) { pNode = new ListNode; pNode->m_nKey = data; pNode->m_pNext = NULL; if (NULL == pHead) { pHead = pNode; pTmp = pNode; } else { pTmp->m_pNext = pNode; pTmp = pNode; } fin>>data; }}//从头到尾输出链表void PrintList(ListNode *pHead){ if (NULL == pHead) { return; } ListNode *pNode = pHead; while (NULL != pNode) { cout<
m_nKey<<" "; pNode = pNode->m_pNext; } cout<
m_pNext); cout<
m_nKey<<" "; }}int _tmain(int argc, _TCHAR* argv[]){ ListNode *pHead = NULL; CreateList(pHead); cout<<"从头到尾输出:"; PrintList(pHead); cout<<"从尾到头输出:"; PrintTailToHeadList(pHead); cout<

运行界面如下:

建造链表的list.txt文件如下:

1 2 3 4 5 6 7 8 9 10 11 12 0

转载地址:http://wvxal.baihongyu.com/

你可能感兴趣的文章
[Leetcode] Missing Ranges 缺失区间
查看>>
fir.im Weekly - 每个程序员都应当拥有的技能树
查看>>
阿里云ECS云服务器规格如何选择?根据使用场景选择规格 ...
查看>>
去年被凤凰城人攻击 21 次,Waymo 测试车怎么就“犯了众怒”? ...
查看>>
Redis淘汰删除策略
查看>>
天公不作美怎么破?墨迹天气帮你降低业务风险 ...
查看>>
Glide回调设置Bitmap对象
查看>>
Promise 源码分析
查看>>
干货 :手把手教你在试验中修正机器学习模型
查看>>
.NET Core2.1下采用EFCore比较原生IOC、AspectCore、AutoFac之间的性能 ...
查看>>
JDK8新特性之Optional
查看>>
Spark2.4.0源码分析之WorldCount 触发作业提交(二)
查看>>
Python零基础学习笔记(四十)—— datetime和Calendar ...
查看>>
事故现场:MySQL 中一个双引号的错位引发的血案 ...
查看>>
MaxCompute_UDF_开发指南
查看>>
云MSP服务案例丨某知名制造集团的Oracle RAC部署实践 ...
查看>>
如何基于ReplayKit实现低延迟rtmp推屏
查看>>
说说JSON和JSONP,也许你会豁然开朗
查看>>
没有所谓好与不好,只是能否适用和用的好
查看>>
程序员写简历时必须注意的技术词汇拼写(持续更新...)
查看>>