二叉树插入:二叉树实现C++
#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;
}
目前我正在学习数据结构,C++,这是使插入二叉树的代码。
它编译后,一切看起来不错,但是当我尝试执行这个程序时,它崩溃了。
有人可以告诉我我错了吗?
您是否尝试过使用调试器和/或valgrind? – Erbureth