先建立链表然后利用递归打印
#include <iostream>
using namespace std;
typedef int TYPE;
struct Node{
TYPE num;
Node *next;
public:
Node(int num_) :num(num_), next(NULL){};
};
Node *pbegin = new Node(0);
Node *pend = pbegin;
void init(){
pbegin = new Node(0);
Node *temNode = NULL;
int num = 0;
while (1){
cin >> num;
if (num == -1)
break;
temNode = new Node(num);
if (pbegin->next == NULL){ //只执行第一次,后面都不执行
pbegin->next = temNode;
pend = temNode;
}
else{ //用来赋值的关键语句
pend->next = temNode;
pend = temNode;
}
}
}
void PrintList(Node *node){
if (node == NULL){
return;
}
PrintList(node->next);
cout << node->num<<endl;
}
int main(){
init();
PrintList(pbegin->next);
return 0;
}