C++实现从尾到头打印链表(不改变链表结构)
/*
* 从尾到头打印链表.cpp
*
* Created on: 2018年4月7日
* Author: soyo
*/
#include<iostream>
#include<stack>
using namespace std;
struct node
{
int data;
node * next;
};
node * create_head(node *p,int v)
{
p=new node;
p->data=v;
p->next=NULL;
return p;
}
node * add_list(node*head,int n)
{
node *p,*p1;
p=head;
p1=new node;
p1->data=n;
p1->next=NULL;
while(p->next!=NULL)
p=p->next;
p->next=p1;
return head;
}
void println(node *head)
{
if(head==NULL)
return;
while(head!=NULL)
{
cout<<head->data<<" ";
head=head->next;
}
cout<<endl;
}
void ReversePrint(node *head)
{
if(head==NULL)
return;
stack<node*>s;
node *p;
while(head!=NULL)
{
s.push(head);
head=head->next;
}
while(!s.empty())
{
p=s.top();
cout<<p->data<<" ";
s.pop();
} }
int main()
{
node *p,*head;
int data=;
head=create_head(p,data);
int a[]={,,,,,};
for(int i=;i<sizeof(a)/sizeof(int);i++)
{
head=add_list(head,a[i]);
}
println(head);
cout<<"利用栈从尾到头打印链表"<<endl;
ReversePrint(head); }
结果:
利用栈从尾到头打印链表
C++实现从尾到头打印链表(不改变链表结构)的更多相关文章
- php实现从尾到头打印列表
php实现从尾到头打印列表 一.总结 4.数组倒序:array_reverse() 5.函数肯定要return,而不是echo 二.php实现从尾到头打印列表 输入一个链表,从尾到头打印链表每个节点的 ...
- 剑指Offer面试题:4.从尾到头打印链表
一.题目:从尾到头打印链表 题目:输入一个链表的头结点,从尾到头反过来打印出每个结点的值. 到解决这个问题肯定要遍历链表.遍历的顺序是从头到尾的顺序,可输出的顺序却是从尾到头.也就是说第一个遍历到的结 ...
- 剑指Offer 从尾到头打印链表
题目描述 输入一个链表,从尾到头打印链表每个节点的值. 输入描述: 输入为链表的表头 输出描述: 输出为需要打印的“新链表”的表头 思路: 用容器vector,递归到最后一个元素,push_back到 ...
- offer--链表反转和从尾到头打印链表
这个是高频的面试题,今天总结了一些.反转链表用三个指针实现,返回新链表的头节点:而从尾到头打印,应用栈实现,返回vector整个链表. //题目描述 // //输入一个链表,反转链表后,输出链表的所有 ...
- P51、面试题5:从尾到头打印链表
题目:输入一个链表的头结点,从尾到头反过来打印出每个结点的值. 链表结点定义如下: Struct ListNode{ int m_nKey; ListNode* m_pNext; }; 我们可 ...
- 九度OJ 1511 从尾到头打印链表
题目地址:http://ac.jobdu.com/problem.php?pid=1511 题目描述: 输入一个链表,从尾到头打印链表每个节点的值. 输入: 每个输入文件仅包含一组测试样例. 每一组测 ...
- 剑指offer——从尾到头打印链表节点的值
输入一个链表,从尾到头打印链表每个节点的值. 输入描述:输入为链表的表头 输出描述:输出为需要打印的“新链表”的表头 一.问题分析 初拿到这个题目时,这应该是考察单向链表这一数据结构.单向链表的遍历总 ...
- 从尾到头打印链表--《剑指offer》
题目:非常easy,就是题目,将链表从尾到头打印出来. 可能我们首先想到的是将链表进行遍历,将之前的訪问的数据进行保存,最后进行反向输出,但是保存数据的空间是个问题:或者是我们将整个链表进行反向操作, ...
- 剑指offer【03】- 从尾到头打印链表(4种实现方法)
题目:从尾到头打印链表 考点:链表 题目描述:输入一个链表,按链表值从尾到头的顺序返回一个ArrayList. 法一:ArrayList头插法 /** * public class ListNode ...
- C++版 - 剑指offer 面试题5:从尾到头打印链表 题解
面试题5:从尾到头打印链表 提交网址: http://www.nowcoder.com/practice/d0267f7f55b3412ba93bd35cfa8e8035?tpId=13&tq ...
随机推荐
- 从零开始写STL-string类型
class string { public: typedef size_t size_type; typedef char* iterator; typedef char value_type; pr ...
- ubuntu-12.04下安装postgresql
2013-10-01 20:42:57| moniter参考资料:Ubuntu 12.04下PostgreSQL-9.1安装与配置详解(在线安装)一.安装postgresqlbamboo@bam ...
- Linux查看日志三种命令(转载)
第一种:查看实时变化的日志(比较吃内存) 最常用的: tail -f filename (默认最后10行,相当于增加参数 -n 10) Ctrl+c 是退出tail命令 其他情况: tail -n 2 ...
- 如何使用eclipse for c/c++ 配置环境编写第一个C程序
因为VS太大还要安装太多的插件,,,所以想用eclipse编写C语言... 1.下载eclipse for c/c++版本 去官网即可下载 https://www.eclipse.org/dow ...
- DTrace C++ Mysteries Solved 转
I’ve been using DTrace on Leopard in my recent work, and while it’s a great tool, the C++ support ...
- Eclipse的Servers视图中无法添加Tomcat6/Tomcat7
原文:http://blog.csdn.net/blueheart20/article/details/40043749 问题的提出: 无法从以下方式,添加Tomcat服务器. 其中ServerNa ...
- Mysql不同存储引擎的表转换方法
Mysql不同存储引擎的表转换方法 1.Alter table直接修改表的存储引擎,但是这样会导致大量的系统开销,Mysql为此要执行一个就表向新表的逐行复制.在此期间,转换操作可能会占用服务器的所有 ...
- c++之虚基类初始化
C++虚基类构造函数下面文章详细介绍C++虚基,所谓C++虚基类:是由最派生类的构造函数通过调用虚基类的构造函数进行初始化的,但前提是要深入理解到底什么是C++虚基类,及他是怎么运行的. 前面讲过,为 ...
- Desert King (poj 2728 最优比率生成树 0-1分数规划)
Language: Default Desert King Time Limit: 3000MS Memory Limit: 65536K Total Submissions: 22113 A ...
- vi和vim上查找字符串
方法/步骤 1 我们以samba的配置文件为例,搜索一个user的字符串. vim /etc/samba/smb.conf 打开smb.conf 2 命令模式下,输入/user "/&quo ...