2009-10-11 10 views
7

Ich versuche binären Baum zu druckenWie kann ich Cout-Ausgabe einrücken?

void print_tree(Node * root,int level) 
{ 
    if (root!=NULL) 
    { 
     cout<< root->value << endl; 
    } 
    //... 
} 

Wie kann ich einrücken ausgegeben, um jeden Wert mit Niveau einrücken ‚-‘ Zeichen.

Antwort

21

Sie einen String konstruieren kann eine Anzahl von Wiederholungs- eines Zeichens enthalten:

std::cout << std::string(level, '-') << root->value << std::endl; 
+1

Verwenden Sie auch das Zeichen '\ t'. – aviraldg

+1

@Aviraldg - lesen Sie die Frage. Der Einzug soll aus '-' Zeichen bestehen. –

+5

Bitte verwenden Sie auch nicht '\ t'. Auf den meisten Konsolen wird dies als 8-Space-Tab gerendert, was horrend weit ist. –

1

cout Sonderzeichen enthält, sind unter zwei:

'\t' - tab 
'\n' - new line 

Hoffe, es half.