二进制搜索树构造的麻烦

Trouble With Binary Search Tree Construction

本文关键字:麻烦 搜索树 二进制      更新时间:2023-10-16

我写了此代码 BST T(arr, 10),我们的教授希望成为它,我遇到了一个应该有一个的错误;在t之前,但是我不知道如何更改代码顶部。具体而言,教授在项目概述中这样说:" BST()默认构造函数,创建一个空的树。

BST(int[], int)

构造函数,第一个参数是一个有序的元素数组,第二个参数是数组中的元素数。这棵树应以平衡的方式建造"我也对如何编写默认构造函数有些困惑,我是否应该简单地编写一个void BST()的代码,而没有任何传递并构造和空的树?这是我目前的构造函数。

void BST(int * arr, int size)
{
     node * Root = NULL;
     for(int i = 0; i < size; i++)
         insert(&Root, arr[i]);
 }

contructor 构造函数的名称将与该类完全相同,并且根本没有任何返回类型,甚至没有空白。

默认构造函数默认构造函数是一个可以在没有参数的情况下调用的构造函数。默认构造函数的可能定义可能是:

BST::BST()
{
     node * Root = NULL; 
}

参数化的构造函数可以:

BST::BST(int * arr, int size)
{
     node * Root = NULL;
     for(int i = 0; i < size; i++)
         insert(&Root, arr[i]);
 }