2

whileループを使用してテキストファイルから行を取得するread関数を使用してツリーを作成し、そのループでノードを作成してから、insertメソッドを使用してノードをツリーの正しい場所に挿入します。

コピーコンストラクターの場合、同様のことを行います。ルートを挿入関数と少し似たヘルパー関数に渡してから、関数内のノードに渡されたノードの名前をコピーします。このように少し見えます:

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

次に、新しいノードを返します。

Visual Studioに組み込まれているサンプリングを実行した後、readメソッドはメモリの%36%を使用しますが、copyコンストラクターは%4のみを使用します。これは大きな違いです、誰かが理由を説明できますか?

4

1 に答える 1

1

一部はファイルIOである可能性があります。文字列(または同じ配列)からデータを取得する最初のメソッドのバージョンを作成し、それがどのような違いをもたらすかを確認します。

于 2012-05-07T14:54:37.503 に答える