<?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[TreeTraversal für eigenen Baumtypen]]></title><description><![CDATA[<p>Hi,</p>
<p>kurze Frage, ob ihr das idiomatisch in Ordnung findet.</p>
<p>Ich habe einen eigenen Baum-Typ, den man auch iterieren können soll. Das Problem ist, wenn ich direkt in diesem Containertyp begin(), end() und iterator() einfüge, dann ist die Traverse-Reihenfolge fixiert. Ich hätte aber lieber unterschiedliche Traverse-Möglichkeiten.</p>
<p>Dafür habe ich dann weitere Typen TreePreorderTraversal, TreePostorderTraversal, ... eingeführt, die man so verwenden kann.</p>
<pre><code class="language-cpp">Tree tree;
// irgendwelche Werte einfügen
for(auto&amp; nodeValue : TreePreorderTraversal(tree)) // edit: aus , mach :
{
    // ...
}
</code></pre>
<p>Findet ihr das in Ordnung oder seht ihr da irgendwelche Probleme bzw. würdet das so ungerne nutzen? Triviale Frage, nehme ich an, aber man weiß ja nie. <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f60b.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_savoring_food"
      title=":yum:"
      alt="😋"
    /></p>
<p>Beste Grüße und vielen Dank!<br />
Fleißamme</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/320224/treetraversal-für-eigenen-baumtypen</link><generator>RSS for Node</generator><lastBuildDate>Fri, 24 Jul 2026 08:28:13 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/320224.rss" rel="self" type="application/rss+xml"/><pubDate>Fri, 20 Sep 2013 18:01:02 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to TreeTraversal für eigenen Baumtypen on Fri, 20 Sep 2013 18:01:47 GMT]]></title><description><![CDATA[<p>Hi,</p>
<p>kurze Frage, ob ihr das idiomatisch in Ordnung findet.</p>
<p>Ich habe einen eigenen Baum-Typ, den man auch iterieren können soll. Das Problem ist, wenn ich direkt in diesem Containertyp begin(), end() und iterator() einfüge, dann ist die Traverse-Reihenfolge fixiert. Ich hätte aber lieber unterschiedliche Traverse-Möglichkeiten.</p>
<p>Dafür habe ich dann weitere Typen TreePreorderTraversal, TreePostorderTraversal, ... eingeführt, die man so verwenden kann.</p>
<pre><code class="language-cpp">Tree tree;
// irgendwelche Werte einfügen
for(auto&amp; nodeValue : TreePreorderTraversal(tree)) // edit: aus , mach :
{
    // ...
}
</code></pre>
<p>Findet ihr das in Ordnung oder seht ihr da irgendwelche Probleme bzw. würdet das so ungerne nutzen? Triviale Frage, nehme ich an, aber man weiß ja nie. <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f60b.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_savoring_food"
      title=":yum:"
      alt="😋"
    /></p>
<p>Beste Grüße und vielen Dank!<br />
Fleißamme</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2354151</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2354151</guid><dc:creator><![CDATA[Eisflamme]]></dc:creator><pubDate>Fri, 20 Sep 2013 18:01:47 GMT</pubDate></item><item><title><![CDATA[Reply to TreeTraversal für eigenen Baumtypen on Fri, 20 Sep 2013 18:04:52 GMT]]></title><description><![CDATA[<p>finde ich okay so.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2354152</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2354152</guid><dc:creator><![CDATA[otze]]></dc:creator><pubDate>Fri, 20 Sep 2013 18:04:52 GMT</pubDate></item><item><title><![CDATA[Reply to TreeTraversal für eigenen Baumtypen on Fri, 20 Sep 2013 18:12:45 GMT]]></title><description><![CDATA[<blockquote>
<p>Fleißamme</p>
</blockquote>
<p>QFT.</p>
<blockquote>
<p>Das Problem ist, wenn ich direkt in diesem Containertyp begin(), end() und iterator() einfüge, dann ist die Traverse-Reihenfolge fixiert.</p>
</blockquote>
<p>Ich nehme an, du meinst mit Traverse-Reihenfolge die Reihenfolge, mit der die Elemente beim Iterieren erreicht werden.<br />
Durchaus verständlich, dass das nicht fixiert sein soll.</p>
<p>Das Idiom, das du da nutzt, ist mir auch schon eingefallen (siehe meinen <code>iterative()</code> -Thread). Das ist ganz witzig.</p>
<p>Und ja, ich finde das in Ordnung, wenn nicht sogar gut.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2354155</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2354155</guid><dc:creator><![CDATA[Sone]]></dc:creator><pubDate>Fri, 20 Sep 2013 18:12:45 GMT</pubDate></item><item><title><![CDATA[Reply to TreeTraversal für eigenen Baumtypen on Fri, 20 Sep 2013 19:17:38 GMT]]></title><description><![CDATA[<p>Eisflamme schrieb:</p>
<blockquote>
<pre><code class="language-cpp">nodeValue
</code></pre>
</blockquote>
<p>Wirklich <em>value</em> oder doch der Node selbst?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2354175</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2354175</guid><dc:creator><![CDATA[[[global:guest]]]]></dc:creator><pubDate>Fri, 20 Sep 2013 19:17:38 GMT</pubDate></item><item><title><![CDATA[Reply to TreeTraversal für eigenen Baumtypen on Fri, 20 Sep 2013 21:00:18 GMT]]></title><description><![CDATA[<p>Ich find beides denkbar, wobei ich node jetzt eigentlich besser fände. Über Node kriegt man ja an den Value, über Value nicht mehr.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2354206</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2354206</guid><dc:creator><![CDATA[Eisflamme]]></dc:creator><pubDate>Fri, 20 Sep 2013 21:00:18 GMT</pubDate></item></channel></rss>