以相反的顺序打印链接列表的元素
#include "stdafx.h"
#include<iostream>
#include<conio.h>
using namespace::std;
struct node
{
int data;
node* next;
};
class linklist
{
node* head;
public:
linklist()
{
head = NULL;
}
void create_list(int d);
void reverse_print_list(node*);
}
void reverse_print_list(node* p)
{
if (p == NULL)
return;
reverse_print_list(p->next);
cout << endl << p->data << " ";
}
int main()
{
linklist l1;
l1.create_list(10);
l1.create_list(20);
l1.create_list(30);
l1.create_list(40);
l1.create_list(50);
l1.print_list(& head); // Not allowed , gives compilation error
_getch();
return 0;
}
在这里,我想传递&#34; head&#34; 的地址。但它不能在课外访问,因为它是私人数据
如何解决这个问题呢 ???
答案 0 :(得分:0)
添加一个使用head
调用递归函数的公共重载:
void reverse_print_list() {reverse_print_list(head);}
现在可以将递归函数设为私有。