Arbre binaire de mise en œuvre de C++

Arbre binaire d'insertion:

#include "stdafx.h"
#include <iostream>

using namespace std;

struct TreeNode {
  int value;
  TreeNode* left;
  TreeNode* right;
};

struct TreeType {
  TreeNode* root;

  void insert(TreeNode* tree, int item);

  void insertItem(int value) {
    insert(root, value);
  }
};

void TreeType::insert(TreeNode* tree, int number) {
  if (tree == NULL) {
    tree = new TreeNode;
    tree->left = NULL;
    tree->right = NULL;
    tree->value = number;
    cout << "DONE";
  } else if (number < tree->value) {
    insert(tree->left, number);
  } else {
    insert(tree->right, number);
  }
}

int main() {
  TreeType* MyTree = new TreeType;
  MyTree->insertItem(8);

  return 0;
}

Je suis actuellement en apprentissage des structures de Données en C++ et c'est le code qui font de l'insertion dans des arbres binaires.

Après il est compilé, tout à l'air bien, mais lorsque j'essaie d'exécuter ce programme, il s'est écrasé.

Quelqu'un peut-il me dire où je me trompe?

Avez-vous essayé d'utiliser le débogueur et/ou valgrind?

OriginalL'auteur DELIGUCU | 2013-12-07