이진 트리를 인쇄하는 데 문제가 있습니다. 기본적으로 각 노드는 키와 데이터의 두 가지 값을 포함합니다. 이 할당에 문제가 있습니다.C++에서 지정된 들여 쓰기 수준의 이진 트리 인쇄
\ t 대신 이중 공간을 사용할 것으로 예상됩니다. 기본적으로는, 의미 \에서 t = 2 개 공간 \ t \ t 내 문제, I는 다음과 같은 방법으로 printIndented 방법을 구현한다
= 4 대, \ t \ t \ t는 = 6 개 공간 -
다음과 같이 나에게 출력을주고있다void
TreeDictionary::printIndented(TreeNode * node, int level) {
if (node == NULL)
return;
if (level == 0)
{
std::cout << node->_key << ':' << node->_data << "\n";
level++;
printIndented(node->_left, level);
printIndented(node->_right, level);
}
else
{
if ((node->_left == NULL) && (node->_right == NULL))
cout << '\t';
cout << "\t" << node->_key << ':' << node->_data << endl;
if ((node->_left != NULL) && (node->_right != NULL))
cout << '\t';
printIndented(node->_left, level);
if ((node->_left != NULL) && (node->_right != NULL))
cout << '\t';
printIndented(node->_right, level);
}
}
는 - 나는 NULL 항목이 발견 될 때마다 NULL 값과 인쇄 NULL을 설명 할 수없는 생각처럼
---=WHAT I AM GETTING=---
pineapple:0
kiwi:1
grapes:3
apple:5
orange:6
lime:8
olives:9
mango:10
strawberry:4
watermelon:7
---=EXPECTED OUTPUT=--- (as you see it prints 2 spaces instead of each \t)
pineapple:0
kiwi:1
grapes:3
apple:5
NULL
NULL
NULL
orange:6
lime:8
NULL
olives:9
mango:10
NULL
NULL
NULL
NULL
strawberry:4
NULL
watermelon:7
NULL
NULL
보인다. 모든 도움을 주시면 감사하겠습니다!
참고 :이 프로그램에서는 기본 들여 쓰기 수준이 0으로 예상됩니다.
감사합니다. – NatureDevil