链表类的 addToHead 函数不能正常工作。该功能似乎正在更换头部。帮助。请。
template <class T>
class LinkedNode {
public:
LinkedNode(T);
T element;
LinkedNode<T> *next;
};
template <class T>
LinkedNode<T>::LinkedNode(T e){
element = e;
next = 0;
}
///////////////////////////////////////////
template <class E>
class LinkedList {
public:
LinkedList();
void addToHead(E);
LinkedNode<E> *head, *tail, *temp;
};
template <class E>
LinkedList<E>::LinkedList() {
head = tail = NULL;
}
template <class E>
void LinkedList<E>::addToHead(E e) {
LinkedNode<E> a(e);
if (head == NULL)
head = tail = &a;
else {
a.next = head;
head = &a;
}
}
int main(){
LinkedList<int> list;
list.addToHead(55);
list.addToHead(22);
cout << list.head->element << " trivial "<< list.head->next->element << endl;
}