2

我使用 read 函数创建树,该函数使用 while 循环从文本文件中检索行,在该循环中我创建一个节点,然后使用 insert 方法将节点插入树中的正确位置。

对于我的复制构造函数,我做了类似的事情,我将根传递给一个有点像我的插入函数的辅助函数,然后将传入的节点的名称复制到函数中的一个节点。看起来有点像这样:

newNode->name  = pNode->name;           
newNode->left  = copyConstructorHelper(pNode->left);            
newNode->right = copyConstructorHelper(pNode->right); 

然后我返回一个新节点。

在运行 Visual Studio 中内置的采样后,读取方法使用了 %36% 的内存,而复制构造函数只使用了 %4。这是一个巨大的差异,有人可以解释为什么吗?

4

1 回答 1

1

部分可能是文件IO;制作第一个方法的版本,从字符串(或相同的数组)获取数据,看看有什么不同。

于 2012-05-07T14:54:37.503 回答