【发布时间】:2013-12-07 17:56:36
【问题描述】:
二叉树插入:
#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?
标签: c++ tree binary-tree