#include <iostream>
using namespace std;
template <typename T>
class List
{
public:
List( T x ) { data = x; }
void append( List *node )
{
node->next = this;
next = 0;
}
List *getnext() { return next; }
T getdata() { return data; }
private:
T data;
List *next;
};
int main()
{
int i, idata, n, fdata;
cout << "输入结点的个数:";
cin >> n;
cout << "输入结点的数据域:";
cin >> fdata;
List <int> headnode( fdata );
List <int> *p, *last;
last = &headnode;
for( i=1; i<n; i++ )
{
cin >> idata;
p = new List <int>( idata );
p->append( last );
last = p;
}
cout << "链表已经建立!" << endl;
cout << "链表中的数据为:" << endl;
p = &headnode;
while( p )
{
cout << p->getdata() << endl;
p = p->getnext();
}
}