数据结构实验之链表二:逆序建立链表
Time Limit: 1000MS Memory Limit: 65536KB
Problem Description
输入整数个数N,再输入N个整数,按照这些整数输入的相反顺序建立单链表,并依次遍历输出单链表的数据。
Input
第一行输入整数N;;
第二行依次输入N个整数,逆序建立单链表。
Output
依次输出单链表所存放的数据。
Example Input
10
11 3 5 27 9 12 43 16 84 22
Example Output
22 84 16 43 12 9 27 5 3 11
//这里介绍一个新方法 reverse() 链表是反转
#include<iostream>
#include<list>
#include<algorithm>
using namespace std;
struct OUTPUT
{
int num;
OUTPUT()
{
num =0;
}
void operator()(const int &tt)
{
num==0?cout<<tt:cout<<" "<<tt;
num++;
}
};
int main()
{
list<int> ma;
int num;
cin>>num;
for(int i =0;i<num;i++)
{
int tt ;
cin>>tt;
ma.push_back(tt);
}
ma.reverse();//链表反转
for_each(ma.begin(),ma.end(),OUTPUT());
cout<<endl;
return 0;
}