反向输出链表

输入一个链表,用反向输出链表的节点。
可以用栈保存的遍历的链表节点的值。然后用栈先进后出的特点。就可以实现从尾到头输出节点值。

#include<stdio.h>
#include<string.h>
#include<iostream>
#include<list>
#include<stack>
#include<algorithm>
using namespace std;
int main(){
    list<int>List;
    stack<int>ans;
    list<int>::iterator tmp;
    int n;
    scanf("%d",&n);

    for(int i=0;i<n;i++){
        int m;
        scanf("%d",&m);
        List.push_back(m);
    }
    for(tmp=List.begin();tmp!=List.end();tmp++){
        int m=*tmp;
        ans.push(m);
    }
    while(!ans.empty()){
        int p=ans.top();
        ans.pop();
        printf("%d\n",p);
    }
}
posted @ 2017-12-30 19:44  __NaCl  阅读(263)  评论(0编辑  收藏  举报