我已经为此工作了一段时间,但我似乎无法弄清楚如何正确地遍历我的链表。现在,我可以运行程序,它运行了,但我没有从链表中得到任何结果。这是我到目前为止的代码,这是应该发生的。
这是我的结果。但这也立即崩溃
#ifndef LList_h
#define LList_h
#include <iostream>
#include "node.h"
class LList
{
public:
LList(void); //constructor
LList(const LList &); //copy constructor
~LList(); //destructor
LList *next; //points to next node
void push_back(const string &str);
void push_front(const string &str);
friend ostream& operator<<(ostream& out, const LList& llist);
LList &operator=(const LList &l);
private:
Node *_head;
Node *_tail;
string _str;
};
inline LList::LList(void) {
cerr << "head = tail = 0 at 0024f8d0\n";
_head = 0;
_tail = 0;
}
inline void LList::push_back(const string &_str) {
Node *p = new Node(_str);
if (_tail == 0) {
_tail = p;
} else {
_tail ->next(p);
_tail = p;
}
}
inline void LList::push_front(const string &_str) {
Node *p = new Node(_str);
if (_head == 0) {
_head = p;
} else {
_head ->next(p);
_head = p;
}
}
ostream &operator <<( ostream &out, const LList & llist ) {
for( LList *p = llist.front; p != 0; p = p -> next )
out << p;
return out;
}
LList & LList::operator=(const LList &l) {
_head = 0;
_tail = 0;
return *this;
}
#endif