-2
我是初学者。我试图按级别打印avl树,它应该从右到左。但结果从左到右。我希望你能解决我的问题。下面是一段我的源代码:打印AVL Tree level by level(C++)
void printOrder(TreeNode *treePtr, int *row) {
if(treePtr != NULL){
(*row)++;
printOrder(treePtr->rightPtr,row);
int i;
for(i=0;i<(*row);i--)
printf("\t");
printf("%d\n", treePtr->data);
printOrder(treePtr->leftPtr,row);
(*row)--;
}
}
void printTree(TreeNode *treePtr) {
int row = 0;
printOrder(treePtr,&row);
}
结果:
80
70
50
40
30
,我想应该是这样的结果:
30\
40\
50
70/
80/
如果我想直接打印它? –
@Michael Loew正如我在我的最后一句话中所建议的那样:通过交换以下行'printOrder(treePtr-> rightPtr,row);''和printOrder(treePtr-> leftPtr ,行);'' – cwschmidt