<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[Baum in Console ausgeben]]></title><description><![CDATA[<p>Hey,</p>
<p>ich muss in einer Aufgabenstellung u.A. einen Baum grafisch auf der Console ausgeben.</p>
<p>In meinen Beispielschnispeln taucht dieses hier auf:</p>
<pre><code class="language-cpp">void printR(Node* p, int level)
{
  if(p != 0)
  {
    for(int i=0; i &lt; level, i++) cout &lt;&lt; &quot; &quot;;
    cout &lt;&lt; p-&gt;value &lt;&lt; endl;
    for(Node* q = p-&gt;left; q != 0; q=q-&gt;right)
      printR(q,level+1);
  }
}
</code></pre>
<p>Hierdurch sollte eigentlich gemäß eines Unix Filesystemes beginnend bei der Wurzel alle Elemente ausgegeben werden. Hier fehlt mir aber die linke Seite des Teilbaumes.</p>
<p>Sieht hier Jemand den Fehler?</p>
<p>Wenn ich ein normale PreOrder mache dagegen:</p>
<pre><code class="language-cpp">void printR(Node* p, int level)
{
  if(p != 0)
  {
    for(int i=0; i &lt; level; i++) cout &lt;&lt; &quot; &quot;;
      cout &lt;&lt; p-&gt;value &lt;&lt; endl;
    printR(p-&gt;left,level+1);
    printR(p-&gt;right,level+1);
  }
}
</code></pre>
<p>erhalte ich meinen kompletten Baum.<br />
Das erste Schnipsel sollte aber auch funktionieren, evtl. hab ich mich hierbei verschrieben?</p>
<p>Bitte um Hilfe</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/215105/baum-in-console-ausgeben</link><generator>RSS for Node</generator><lastBuildDate>Mon, 12 Oct 2026 20:17:50 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/215105.rss" rel="self" type="application/rss+xml"/><pubDate>Fri, 06 Jun 2008 13:42:10 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Baum in Console ausgeben on Fri, 06 Jun 2008 13:42:10 GMT]]></title><description><![CDATA[<p>Hey,</p>
<p>ich muss in einer Aufgabenstellung u.A. einen Baum grafisch auf der Console ausgeben.</p>
<p>In meinen Beispielschnispeln taucht dieses hier auf:</p>
<pre><code class="language-cpp">void printR(Node* p, int level)
{
  if(p != 0)
  {
    for(int i=0; i &lt; level, i++) cout &lt;&lt; &quot; &quot;;
    cout &lt;&lt; p-&gt;value &lt;&lt; endl;
    for(Node* q = p-&gt;left; q != 0; q=q-&gt;right)
      printR(q,level+1);
  }
}
</code></pre>
<p>Hierdurch sollte eigentlich gemäß eines Unix Filesystemes beginnend bei der Wurzel alle Elemente ausgegeben werden. Hier fehlt mir aber die linke Seite des Teilbaumes.</p>
<p>Sieht hier Jemand den Fehler?</p>
<p>Wenn ich ein normale PreOrder mache dagegen:</p>
<pre><code class="language-cpp">void printR(Node* p, int level)
{
  if(p != 0)
  {
    for(int i=0; i &lt; level; i++) cout &lt;&lt; &quot; &quot;;
      cout &lt;&lt; p-&gt;value &lt;&lt; endl;
    printR(p-&gt;left,level+1);
    printR(p-&gt;right,level+1);
  }
}
</code></pre>
<p>erhalte ich meinen kompletten Baum.<br />
Das erste Schnipsel sollte aber auch funktionieren, evtl. hab ich mich hierbei verschrieben?</p>
<p>Bitte um Hilfe</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1524093</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1524093</guid><dc:creator><![CDATA[Wuff]]></dc:creator><pubDate>Fri, 06 Jun 2008 13:42:10 GMT</pubDate></item><item><title><![CDATA[Reply to Baum in Console ausgeben on Fri, 06 Jun 2008 14:18:33 GMT]]></title><description><![CDATA[<p>So sollte das auf der Console aussehen:<br />
<a href="http://img3.imagebanana.com/view/aj65hy0l/aktuell_cpp.JPG" rel="nofollow">http://img3.imagebanana.com/view/aj65hy0l/aktuell_cpp.JPG</a></p>
<p>So sieht es jetzt aus:<br />
<a href="http://img3.imagebanana.com/view/z3c2quw/aktuell2_cpp.JPG" rel="nofollow">http://img3.imagebanana.com/view/z3c2quw/aktuell2_cpp.JPG</a></p>
<p>Und das ist der Code im Moment:</p>
<pre><code class="language-cpp">void printR(Node*&amp; p, int level)
{
  if(p != 0)
	  {
		for(int i=0; i &lt; level-1; i++) 
			cout &lt;&lt; &quot;   &quot;;
		if(level != 0)
			cout &lt;&lt; &quot;|--&quot;;
		cout &lt;&lt; p-&gt;value &lt;&lt; endl;
		if(p-&gt;left != 0)
		{
			printR(p-&gt;left,level+1);
		}
		if(p-&gt;right != 0)
		{
			printR(p-&gt;right,level+1);
		}
	  }
}
</code></pre>
<p>Wie komme ich zum # ?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1524116</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1524116</guid><dc:creator><![CDATA[Wuff]]></dc:creator><pubDate>Fri, 06 Jun 2008 14:18:33 GMT</pubDate></item><item><title><![CDATA[Reply to Baum in Console ausgeben on Fri, 06 Jun 2008 14:34:24 GMT]]></title><description><![CDATA[<p>So etwa? (ungetestet)</p>
<pre><code class="language-cpp">void printR(Node*&amp; p, int level)
{

        for(int i=0; i &lt; level-1; i++)
            cout &lt;&lt; &quot;   &quot;;
        if(level != 0)
            cout &lt;&lt; &quot;|--&quot;;
        if(p)
                cout &lt;&lt; p-&gt;value &lt;&lt; endl;
        else
                cout &lt;&lt; '#' &lt;&lt; endl;
        if(p-&gt;left != 0)
        {
            printR(p-&gt;left,level+1);
        }
        if(p-&gt;right != 0)
        {
            printR(p-&gt;right,level+1);
        }
}
</code></pre>
<p>Gruß,<br />
CSpille</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1524127</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1524127</guid><dc:creator><![CDATA[[[global:guest]]]]></dc:creator><pubDate>Fri, 06 Jun 2008 14:34:24 GMT</pubDate></item><item><title><![CDATA[Reply to Baum in Console ausgeben on Fri, 06 Jun 2008 14:51:27 GMT]]></title><description><![CDATA[<p>CSpille schrieb:</p>
<blockquote>
<p>So etwa? (ungetestet)</p>
</blockquote>
<p>Habs getestet und das ändert an meiner vorherigen Ausgabe rein gar nichts...</p>
<p>Mal noch ne andere Frage:<br />
Eine levelOrder wird ja mit Hilfe einer Warteschlange realisiert...</p>
<p>Jetzt hab ich in meinen Unterlagen<br />
Queue&lt;Node*&gt;queue;</p>
<p>stehen mit den Methoden:<br />
queue.front(p);<br />
queue.remove()<br />
queue.push(p);<br />
queue.insert(p-&gt;left);<br />
queue.insert(p-&gt;right);</p>
<p>weiss Jemand welche lib das sein soll?<br />
In den Unterlagen die ich bekommen habe steht hierzu nichts mehr</p>
<p>aber die queue aus der STL ist es jedenfalls nicht, gibt überschneidungen aber insert/remove/empty sind gänzlich unbekannt....*omg*</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1524136</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1524136</guid><dc:creator><![CDATA[Wuff]]></dc:creator><pubDate>Fri, 06 Jun 2008 14:51:27 GMT</pubDate></item></channel></rss>