-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