<?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[Eine Suche im BinaerBaum]]></title><description><![CDATA[<p>ein frohes neues an alle <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f609.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--winking_face"
      title=";)"
      alt="😉"
    /></p>
<p>kaum hat das jahr begonnen sitz ich wieder über einem problem <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f609.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--winking_face"
      title=";)"
      alt="😉"
    /></p>
<p>mein ziel: (wenn es der titel noch nicht verraten hat <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f609.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--winking_face"
      title=";)"
      alt="😉"
    /> )<br />
ich möchte einen wert in einem binärbaum suchen..<br />
mein problem: er gibt mir komische werte wieder zurück, die ich nicht nachvollziehen kann</p>
<p>Die MAIN</p>
<pre><code class="language-cpp">#include &quot;bintree.h&quot;
#include &quot;bintree.cpp&quot;
#include &lt;iostream&gt;

int main()
{
  Baum&lt;int&gt; binaryTree;
  binaryTree.einfuegen(5);
  binaryTree.einfuegen(3);
  binaryTree.einfuegen(2);
  binaryTree.einfuegen(6);
  binaryTree.einfuegen(12);
  binaryTree.einfuegen(9);
  binaryTree.einfuegen(10);
  binaryTree.einfuegen(1);

  std::cout &lt;&lt; binaryTree.pruefen(4) &lt;&lt; &quot;\n&quot;;
  std::cout &lt;&lt; binaryTree.pruefen(6) &lt;&lt; &quot;\n&quot;;

return 0;
}
</code></pre>
<p>der QUELLTEXT</p>
<pre><code class="language-cpp">/**Suche im Binaerbaum*/
template&lt;class T&gt;
int Baum&lt;T&gt;::SuchenImBinaerbaum(knoten&lt;T&gt;* &amp;p, T t)
{
  if(p!=NULL) {
  if(p-&gt;inhalt == t) return p-&gt;inhalt;
  if(t &gt; p-&gt;inhalt) SuchenImBinaerbaum(p-&gt;rechts, t);
  if(t &lt; p-&gt;inhalt) SuchenImBinaerbaum(p-&gt;links, t);
}
else return 0;
}

/**Baum Methode pruefen*/
template&lt;class T&gt;
int Baum&lt;T&gt;::pruefen(T t)
{
  return SuchenImBinaerbaum(root, t);
}
</code></pre>
<p>DIE AUSGABE</p>
<pre><code>g++    -c -o bintree.o bintree.cpp
c++ -c bintree_main.cpp  -I./UnitTest++/src -I.
c++ bintree.o bintree_main.o -L./UnitTest++ -lUnitTest++ -o bintree_main
-4
134516320
</code></pre>
<p>ich hoffe es kann mir einer erklären, wieso die ausgabe so eigenartig ist<br />
vielen dank schon einmal<br />
grüße kylanysik</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/230907/eine-suche-im-binaerbaum</link><generator>RSS for Node</generator><lastBuildDate>Sun, 27 Sep 2026 03:54:38 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/230907.rss" rel="self" type="application/rss+xml"/><pubDate>Sat, 03 Jan 2009 20:53:07 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Eine Suche im BinaerBaum on Sat, 03 Jan 2009 20:53:07 GMT]]></title><description><![CDATA[<p>ein frohes neues an alle <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f609.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--winking_face"
      title=";)"
      alt="😉"
    /></p>
<p>kaum hat das jahr begonnen sitz ich wieder über einem problem <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f609.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--winking_face"
      title=";)"
      alt="😉"
    /></p>
<p>mein ziel: (wenn es der titel noch nicht verraten hat <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f609.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--winking_face"
      title=";)"
      alt="😉"
    /> )<br />
ich möchte einen wert in einem binärbaum suchen..<br />
mein problem: er gibt mir komische werte wieder zurück, die ich nicht nachvollziehen kann</p>
<p>Die MAIN</p>
<pre><code class="language-cpp">#include &quot;bintree.h&quot;
#include &quot;bintree.cpp&quot;
#include &lt;iostream&gt;

int main()
{
  Baum&lt;int&gt; binaryTree;
  binaryTree.einfuegen(5);
  binaryTree.einfuegen(3);
  binaryTree.einfuegen(2);
  binaryTree.einfuegen(6);
  binaryTree.einfuegen(12);
  binaryTree.einfuegen(9);
  binaryTree.einfuegen(10);
  binaryTree.einfuegen(1);

  std::cout &lt;&lt; binaryTree.pruefen(4) &lt;&lt; &quot;\n&quot;;
  std::cout &lt;&lt; binaryTree.pruefen(6) &lt;&lt; &quot;\n&quot;;

return 0;
}
</code></pre>
<p>der QUELLTEXT</p>
<pre><code class="language-cpp">/**Suche im Binaerbaum*/
template&lt;class T&gt;
int Baum&lt;T&gt;::SuchenImBinaerbaum(knoten&lt;T&gt;* &amp;p, T t)
{
  if(p!=NULL) {
  if(p-&gt;inhalt == t) return p-&gt;inhalt;
  if(t &gt; p-&gt;inhalt) SuchenImBinaerbaum(p-&gt;rechts, t);
  if(t &lt; p-&gt;inhalt) SuchenImBinaerbaum(p-&gt;links, t);
}
else return 0;
}

/**Baum Methode pruefen*/
template&lt;class T&gt;
int Baum&lt;T&gt;::pruefen(T t)
{
  return SuchenImBinaerbaum(root, t);
}
</code></pre>
<p>DIE AUSGABE</p>
<pre><code>g++    -c -o bintree.o bintree.cpp
c++ -c bintree_main.cpp  -I./UnitTest++/src -I.
c++ bintree.o bintree_main.o -L./UnitTest++ -lUnitTest++ -o bintree_main
-4
134516320
</code></pre>
<p>ich hoffe es kann mir einer erklären, wieso die ausgabe so eigenartig ist<br />
vielen dank schon einmal<br />
grüße kylanysik</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1639007</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1639007</guid><dc:creator><![CDATA[Kylanysik]]></dc:creator><pubDate>Sat, 03 Jan 2009 20:53:07 GMT</pubDate></item><item><title><![CDATA[Reply to Eine Suche im BinaerBaum on Sun, 04 Jan 2009 10:44:28 GMT]]></title><description><![CDATA[<p>Geh da am besten mit dem Debugger durch. Dann siehst du, wo die Werte zurückgegeben werden und schon hast du den (Denk)fehler.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1639154</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1639154</guid><dc:creator><![CDATA[drakon]]></dc:creator><pubDate>Sun, 04 Jan 2009 10:44:28 GMT</pubDate></item><item><title><![CDATA[Reply to Eine Suche im BinaerBaum on Sun, 04 Jan 2009 12:12:30 GMT]]></title><description><![CDATA[<p>[cpp]<br />
/**Suche im Binaerbaum*/<br />
template&lt;class T&gt;<br />
int Baum&lt;T&gt;::SuchenImBinaerbaum(knoten&lt;T&gt;* &amp;p, T t)<br />
{<br />
if(p!=NULL) {<br />
if(p-&gt;inhalt == t) return p-&gt;inhalt;<br />
if(t &gt; p-&gt;inhalt) <strong>return</strong> SuchenImBinaerbaum(p-&gt;rechts, t);<br />
if(t &lt; p-&gt;inhalt) <strong>return</strong> SuchenImBinaerbaum(p-&gt;links, t);<br />
}<br />
else return 0;<br />
}<br />
[/cpp]</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1639196</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1639196</guid><dc:creator><![CDATA[volkard]]></dc:creator><pubDate>Sun, 04 Jan 2009 12:12:30 GMT</pubDate></item><item><title><![CDATA[Reply to Eine Suche im BinaerBaum on Sun, 04 Jan 2009 15:22:00 GMT]]></title><description><![CDATA[<p>Eine saubere Einrückung wäre wahrscheinlich auch nicht das Schlechteste... <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f609.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--winking_face"
      title=";)"
      alt="😉"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1639307</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1639307</guid><dc:creator><![CDATA[Nexus]]></dc:creator><pubDate>Sun, 04 Jan 2009 15:22:00 GMT</pubDate></item><item><title><![CDATA[Reply to Eine Suche im BinaerBaum on Sun, 04 Jan 2009 15:27:38 GMT]]></title><description><![CDATA[<p>vielen vielen dank für die antworten</p>
<p>@ volkard<br />
ich danke dir. jetzt funzt alles <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f642.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--slightly_smiling_face"
      title=":)"
      alt="🙂"
    /></p>
<p>@ nexus<br />
ich werds versuchen leserlicher zu gestalten <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f642.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--slightly_smiling_face"
      title="=)"
      alt="🙂"
    /></p>
<p>grüße kylanysik</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1639310</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1639310</guid><dc:creator><![CDATA[Kylanysik]]></dc:creator><pubDate>Sun, 04 Jan 2009 15:27:38 GMT</pubDate></item><item><title><![CDATA[Reply to Eine Suche im BinaerBaum on Sun, 04 Jan 2009 17:08:58 GMT]]></title><description><![CDATA[<p>und sehr gut ist es, immer den fall, den man festgestellt hat, sofort abzuhandeln.<br />
damit meine ich, das fürchterlich lange verschieben des return 0.</p>
<pre><code class="language-cpp">/**Suche im Binaerbaum*/ 
template&lt;class T&gt; 
int Baum&lt;T&gt;::SuchenImBinaerbaum(knoten&lt;T&gt;* &amp;p, T t) 
{ 
  if(p==NULL) 
    return 0;
  if(p-&gt;inhalt == t) 
    return p-&gt;inhalt; 
  if(t &gt; p-&gt;inhalt)
    return SuchenImBinaerbaum(p-&gt;rechts, t); 
  if(t &lt; p-&gt;inhalt) 
    return SuchenImBinaerbaum(p-&gt;links, t); 
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1639376</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1639376</guid><dc:creator><![CDATA[volkard]]></dc:creator><pubDate>Sun, 04 Jan 2009 17:08:58 GMT</pubDate></item><item><title><![CDATA[Reply to Eine Suche im BinaerBaum on Sun, 04 Jan 2009 17:30:06 GMT]]></title><description><![CDATA[<p>Üblicherweise arbeitet man bei so etwas mit Referenzen (auch, wenn das bei PODs meist langsamer ist -&gt; <code>const T &amp;t</code> ) - und der Rückgabewert erscheint mir auch zumindest fragwürdig ^^ (sollte wahrscheinlich eher <code>const &amp;T</code> oder <code>&amp;T</code> oder <code>T</code> sein). Da man aber den Knoten eh schon durch die Referenz auf den Pointer bekommst, könntest du auch nur nen <code>bool</code> nehmen (gefunden/nicht gefunden - oder ihn ganz weglassen und Notfalls ne Exception werfen - gibt genug Möglichkeiten - aber die ist sicherlich nicht (vollkommen) richtig)</p>
<p>bb</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1639393</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1639393</guid><dc:creator><![CDATA[unskilled]]></dc:creator><pubDate>Sun, 04 Jan 2009 17:30:06 GMT</pubDate></item></channel></rss>