0
リンクリストにノードの再帰挿入を実装して表示するとき、何も得られません。私は問題を解決する方法を理解していません。C++リンクリストの再帰挿入
私のコードは次のとおりです。私は新しいリンクされたリストを作成し、insert関数を呼び出した主な機能は
template <class H> class Node {
private:
H key;
Node <H> *next;
public:
Node(H key) {
this->key = key;
next = NULL;
}
Node(H key, Node <H> * next) {
this->key = key;
this->next = next;
}
void setKey(H key) {
this->key = key;
}
void setNext(Node <H> * next) {
this->next = next;
}
H getKey() {
return key;
}
Node <H> *getNext() {
return next;
}
};
template <class H> class LinkedList {
private:
Node <H> *header;
Node <H> * insertHead(Node <H>* header, H data)
{
if (header == NULL)
return new Node <H>(data);
else
header->setNext(insertHead(header->getNext(), data));
return header;
}
public:
LinkedList() {
header == NULL;
}
LinkedList <H> *insert(int x) {
insertHead(header,x);
return this;
}
void print() {
Node <H> *tmp = header;
while (tmp != NULL) {
cout << tmp->getKey() << " ";
tmp = tmp->getNext();
}
}
};
int main() {
LinkedList <int> *lset = new LinkedList <int>();
lset->insert(89)->insert(56)->insert(8);
lset->print();
}
。再帰的な挿入に問題があると確信しているので、それを特定できません。
再帰的挿入が表示されません。 – drescherjm
"ノード * insertHead" –
Tarek
ノード * insertHead(ノード *ヘッダー、Hデータ)に値渡しするため、ヘッダーは常にnullです。 –
drescherjm