cout danych z węzła drzewa binarnego

0

Cześć. Kiedy chcę wyświetlić na terminal coś z korzenia drzewa binarnego wychodzą mi błędne dane.
main.cpp :

int main()
{

	Bst<int>* drzewo = new Bst<int>();
	drzewo->add_new(100);

	drzewo->display();

	delete drzewo;

	return 0;
}

bst.h :

template <class T>
class Bst {
[...]
Bst() { }
[...]
void display() {
		if (!root) {
			std::cout << "binary search tree is empty" << std::endl;
		}
		else {
			std::cout << "binary search tree:\nsize: " << size << "\nheight: " << height << "\n0 = nullptr\n";
			std::cout << "{\n(" << root->index << ": [p: 0, l: " << ((root->left != nullptr) ? 0 : root->left->index) << ", r: " << ((root->right != nullptr) ? 0 : root->right->index) << "], data: " << root->data << ")\n";
			
		}
		std::cout << std::endl;
	}

** całość kodu: https://godbolt.org/z/oGasv8 **

3
	void add_new(T value) {
		Node* temp = new Node(value);
		temp->index = last_index++;
		if (!root) {
			root = temp;
			size++;
		}
		else {
			//...
		}

		delete temp;
	}

Deletujesz sobie roota :​)

Ogółem, o ile przy samodzielnej implenentacji drzewa rzeczywiście trzeba samodzielnie zadbać o zarządzanie zasobami, to już z samym drzewem w main() polecam lekturę:

Oraz dodatkowo:

0

Pokaż output

1 użytkowników online, w tym zalogowanych: 0, gości: 1