私はC++でバイナリツリーを作成しようとしています。これはツリーですC++で変数に代入中にエラーが発生しました
3 /\ 2 5
このツリーを手動で作成して、このツリーの一部のアルゴリズムをテストしたいだけです。以下は同じ私のコードですが、私はこのエラーが発生します。それはどうしてそうですか?
binary_tree.cpp:19:21: error: expected type-specifier before ‘node’
root->right = new node(5);
。
#include<iostream>
using namespace std;
class Node {
public:
int data;
Node* left;
Node* right;
Node(int data){
this->data = data;
}
};
int main(){
Node *root = new Node(3); //creates a node called root and initialises its data field to 3
root->left = new node(2); //to the var left inside root to a new instance of Node ??
root->right = new node(5);
return 0;
}
編集:貴重なご回答をいただきありがとうございます。私はこれらの変更を行った
3 /\ 2 5 /\ 1 4
:私はこの木表現したい場合は
Node *root = new Node(3);
root->left = new Node(2);
root->right = new Node(5);
root->left->left = new Node(1);
root->left->right= new Node(4);
をそれが正しいのですか?私は、私は木を印刷することができるように、明示的にnullとして葉ノードの左と右を設定する必要があるのですか?
「node」ではなく「Node」 – Ari0nhh
@ Ari0nhhありがとうございました。どのように私はそれを逃すことができる!そのような恥:( – anekix
){ this-> data = data; left = nullptr; right = nullptr; } – user1438832