#include<iostream>
using namespace std;
typedef int ElemType;
typedef struct LNode{
ElemType data;
struct LNode *next;
}LNode, *LinkList;
void InitList(LinkList &L){
L = new LNode;
L->next = NULL;
}
LinkList tailInsertList(LinkList &L, ElemType A[], int n){
LNode *r = L;
for (int i = 0; i < n; i++)
{
LNode *s = new LNode;
s->data = A[i];
r->next = s;
r = s;
}
r->next = NULL;
return L;
}
void printList(LinkList L){
LNode *p = L->next;
while (p != NULL)
{
cout << p->data << " ";
p = p->next;
}
cout << endl;
}
void printRevList(LinkList L){
if (L->next != NULL)
printRevList(L->next);
cout << L->data << " ";
}
void main()
{
LinkList L;
InitList(L);
ElemType A[10] = { 1, 6, 15, 20, 35, 98, -7, 15, -2, 9 };
tailInsertList(L, A, 10);
printList(L);
printRevList(L->next);
}
