这个简单的链接列表有什么问题?
// linked_lst1.cpp : Defines the entry point for the console application.
//
#include "stdafx.h"
#include <iostream>
using namespace std;
class Node
{
int data;
Node* next;
friend class LinkedList;
};
class LinkedList
{
private:
Node* s;
public:
LinkedList() : s(NULL)
{};
void add(int x)
{
Node* s1 = new Node();
s1 = s;
if (!s1)
{
s->data = x;
return;
}
while (s1->next)
s1 = s1->next;
Node* temp = new Node;
temp->data = x;
s1->next = temp;
temp->next = NULL;
}
void showList()
{
Node* s1 = new Node;
s1 = s;
while (s1)
{
cout << s1->data << " ";
s1 = s1->next;
}
}
};
这是主要部分:
int main()
{
LinkedList list;
list.add(3);
list.showList();
return 0;
}
我认为s->data = x;
中存在分配问题,但我不知道如何解决它......
我想,我弄错了。
答案 0 :(得分:1)
您创建一个新节点,然后立即覆盖s1以指向指向的内容 - 您将失去对新创建节点的所有访问权。