2016-04-18 6 views
0

私はC言語でAVLツリーを実装していますが、コンソールの3つの列にツリーのすべての要素を印刷したいとします。列内のAVLツリーを印刷

私はこれを持っている:

void printInOrder(nodo * raiz){ 
    if(raiz!=NULL){ 
    printInOrder(raiz->esq); 
    printf("%s\n",raiz->codigo); 
    printInOrder(raiz->dir); 
    } 
} 

誰もが3列に出力を印刷する方法を知っていますか?

+0

列1、列2、列3に行きますか?サンプルツリー(おそらく7-8ノード)と期待される出力を表示してください。それが立てば、あなたの質問に答える簡単な方法はありません。 –

+0

あなたはこのような何かを持っている場合: 'code' 文字列1 /\ 文字列2列3 /\ 列4列5 あなたはで終わるだろう: 列4 列2 列5私が欲しいもの 文字1文字 は次のとおりです。 列4列5列3 列2文字列1 –

+0

あなたはそれがsoweのチャンスを持ってフォーマットすることができ、質問に情報を追加してください。あなたが何であるかを理解する。 –

答えて

0

これは私が探していたものです。

int printInOrder(nodo *root, int count){ 
if(root!=NULL){ 
    count=printInOrder(root->left,count); 
    count++; 
    if(count%PRINT_COLS==0 && count!=0) printf("%s \n", root->code); 
    else printf("%s \t\t", root->code); 
    if(count%(2*10*PRINT_COLS)==0 && count!=0){getch();} 
    count=printInOrder(root->right, count); 
} 
return count; 

}

関連する問題