Я пытаюсь создать двоичное дерево в 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;
}
EDIT: Спасибо всем за ценный отклик. если я хочу, чтобы представить это дерево:
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' – Ari0nhh
@ Ari0nhh благодарит так много. как я мог пропустить это! такой позор :( – anekix
Node (интермедиат данные) { this-> данные = данные, слева = nullptr, справа = nullptr; }? – user1438832