大家好,我正在用 C++ 中的类实现 LinkedList,到目前为止,我只完成了节点类和 add 方法。但它不起作用,例如我添加了一个新元素,当我检查第一个指针时,它指向我刚刚添加的最后一个元素......
节点类:
template<class T>
class Node
{
private:
T element;
public:
Node<T> *next;
Node( T e ){
element = e;
next = NULL;
}
friend ostream& operator<<(ostream& os, const Node<T>& nd)
{
os << nd.element;
return os;
}
};
和 LinkedList 类:
template<class T>
class LinkedList{
private:
int size;
public:
Node<T> *first;
Node<T> *last;
LinkedList(){
first = NULL;
last = NULL;
size = 0;
}
void add( T element ){
Node<T> n (element);
if( size == 0 ){
first = &n;
}else{
last->next = &n;
}
last = &n;
size++;
}
int getSize(){
return size;
}
};
因此,例如,我主要执行以下操作:
LinkedList<int> list;
list.add(5);
list.add(7);
cout << *list.first;
它显示'7'作为第一个元素......
提前致谢。