<?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[Problem mit dynamischer datenstruktur?]]></title><description><![CDATA[<p>Habe ein Objekt was eine datenstruktur enthält:</p>
<pre><code class="language-cpp">class Liste{

CAllocationNew *m_First_Son;

}

class CAllocationNew{

   CAllocationNew *m_pBrother;

}
</code></pre>
<p>das Objekt zeit auf das erste element der datenstruktur über den m_Frist_Son Pointer. die Elemente &quot;CAllocationNew&quot; sind dann über den Pointer m_pBrother Verkettet.</p>
<p>wenn ich nun ein Element am ende anfügen mit der methode :</p>
<pre><code class="language-cpp">void Liste::AddChild(CAllocationNew *pNew){

for(CAllocationNew *&amp;pChilds= m_pFirst_Son; pChilds!=NULL; pChilds= pChilds-&gt;m_pBrother;		

pChilds= pNew;
}
</code></pre>
<p>wird immer wieder das erste Element überschrieben, obwohl er eigentlich die Elemt aneinader hängen soltle.. ich blick nich wieso das so nich geht!</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/185573/problem-mit-dynamischer-datenstruktur</link><generator>RSS for Node</generator><lastBuildDate>Thu, 24 Sep 2026 04:41:27 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/185573.rss" rel="self" type="application/rss+xml"/><pubDate>Wed, 27 Jun 2007 07:04:43 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Problem mit dynamischer datenstruktur? on Wed, 27 Jun 2007 07:04:43 GMT]]></title><description><![CDATA[<p>Habe ein Objekt was eine datenstruktur enthält:</p>
<pre><code class="language-cpp">class Liste{

CAllocationNew *m_First_Son;

}

class CAllocationNew{

   CAllocationNew *m_pBrother;

}
</code></pre>
<p>das Objekt zeit auf das erste element der datenstruktur über den m_Frist_Son Pointer. die Elemente &quot;CAllocationNew&quot; sind dann über den Pointer m_pBrother Verkettet.</p>
<p>wenn ich nun ein Element am ende anfügen mit der methode :</p>
<pre><code class="language-cpp">void Liste::AddChild(CAllocationNew *pNew){

for(CAllocationNew *&amp;pChilds= m_pFirst_Son; pChilds!=NULL; pChilds= pChilds-&gt;m_pBrother;		

pChilds= pNew;
}
</code></pre>
<p>wird immer wieder das erste Element überschrieben, obwohl er eigentlich die Elemt aneinader hängen soltle.. ich blick nich wieso das so nich geht!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1314491</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1314491</guid><dc:creator><![CDATA[BorisDieKlinge]]></dc:creator><pubDate>Wed, 27 Jun 2007 07:04:43 GMT</pubDate></item><item><title><![CDATA[Reply to Problem mit dynamischer datenstruktur? on Wed, 27 Jun 2007 07:11:11 GMT]]></title><description><![CDATA[<p>Eine Referenz ist ein Alias für die Variable. Das heißt, du hangelst dich effektiv mit dem Zeiger m_First_Son durch deine verkettete Liste. Aber an dieser Stelle brauchst du eine unabhängige Kopie von m_First_Son, die durch die Liste hangeln kann. (und du solltest einen Schritt weiter vorne aufhören zu hangeln)</p>
<pre><code class="language-cpp">for(CAllocationNew* pChilds= m_pFirst_Son; pChilds-&gt;m_pBrother!=NULL; pChilds= pChilds-&gt;m_pBrother);
pChilds-&gt;m_pBrother = pNew;
</code></pre>
<p>Edit: Und du brauchst eine Sonderbehandlung für den Fall, daß die Liste leer ist <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/1314499</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1314499</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Wed, 27 Jun 2007 07:11:11 GMT</pubDate></item><item><title><![CDATA[Reply to Problem mit dynamischer datenstruktur? on Wed, 27 Jun 2007 07:15:01 GMT]]></title><description><![CDATA[<p><a class="plugin-mentions-user plugin-mentions-a" href="https://www.c-plusplus.net/forum/uid/10318">@CStoll</a>: Genau so hab ich es bisher gemacht.. dachte übe rdie referenz ist es eleganter...;)</p>
<pre><code class="language-cpp">if(m_pFirst_Son==NULL)
			m_pFirst_Son =pNew;
		else{
			//Allokation an bereit bestehenden Kinder hinten anhängen
			for(CAllocationNew *pChilds= m_pFirst_Son; pChilds-&gt;m_pBrother!=NULL; pChilds= pChilds-&gt;m_pBrother);
			pChilds-&gt;m_pBrother= pNew;
		}
</code></pre>
<p>wollte damit due lästigge &quot;Sonderbehandung&quot; umgehen..</p>
<p>oder wie würdet du dies noch edelt coden?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1314500</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1314500</guid><dc:creator><![CDATA[BorisDieKlinge]]></dc:creator><pubDate>Wed, 27 Jun 2007 07:15:01 GMT</pubDate></item><item><title><![CDATA[Reply to Problem mit dynamischer datenstruktur? on Wed, 27 Jun 2007 07:48:40 GMT]]></title><description><![CDATA[<p>BorisDieKlinge schrieb:</p>
<blockquote>
<p><a class="plugin-mentions-user plugin-mentions-a" href="https://www.c-plusplus.net/forum/uid/10318">@CStoll</a>: Genau so hab ich es bisher gemacht.. dachte übe rdie referenz ist es eleganter...;)</p>
</blockquote>
<p>Man kann es auch übertreiben mit der Eleganz - besonders wenn man nicht weiß, was man da macht <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="😉"
    /> (und Referenzen sind - wie du gesehen hast - sehr leicht falsch einzusetzen)</p>
<blockquote>
<p>oder wie würdet du dies noch edelt coden?</p>
</blockquote>
<p>Eine Möglichkeit wäre es, an den Listenanfang einen Dummy-Knoten zu hängen, auf den m_First_Son dann zeigt. Ich würde vermutlich anstelle der selbstgebauten verketteten Liste eine std::list nehmen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1314522</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1314522</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Wed, 27 Jun 2007 07:48:40 GMT</pubDate></item><item><title><![CDATA[Reply to Problem mit dynamischer datenstruktur? on Wed, 27 Jun 2007 07:55:09 GMT]]></title><description><![CDATA[<p>das mit std::list war schon letzte woche mein ansatz..</p>
<p>aber da ich einen iterator in meiner baumstruktur habe .. geht das nicht, da quasie jeder Knoten unter knoten haben kann...</p>
<p>Ich glaub das war sogar damals du der mit den tip gegeben hat mit den Father,Broher,First_Son pointer.. zu iterieren...</p>
<p>die gesamte Baumstruktur funktioniert auch wunder bar mit dem konzept...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1314527</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1314527</guid><dc:creator><![CDATA[BorisDieKlinge]]></dc:creator><pubDate>Wed, 27 Jun 2007 07:55:09 GMT</pubDate></item><item><title><![CDATA[Reply to Problem mit dynamischer datenstruktur? on Wed, 27 Jun 2007 08:24:22 GMT]]></title><description><![CDATA[<p>Du könntest auch einen Baum-Iterator um einen list-Iterator herumbauen:</p>
<pre><code class="language-cpp">class node
{
  list&lt;node&gt; children;
  list&lt;node&gt;::iterator father;
  ...
};

class baum_iterator
{
  typedef list&lt;node&gt;::iterator pos_type;
  pos_type pos;
public:
  baum_iterator&amp; operator++()
  {
    post_type father = pos-&gt;father;
    ++pos;
    if(pos==father-&gt;children.end())
      durchhangeln zum nächsten Cousin
    return *this;
  }
};
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1314542</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1314542</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Wed, 27 Jun 2007 08:24:22 GMT</pubDate></item><item><title><![CDATA[Reply to Problem mit dynamischer datenstruktur? on Wed, 27 Jun 2007 09:05:57 GMT]]></title><description><![CDATA[<p>Gute idee... aber wenn ich das übernehme sind 2 tage arbeit im arsch.. un komm nie zum ende...^</p>
<p><a class="plugin-mentions-user plugin-mentions-a" href="https://www.c-plusplus.net/forum/uid/10318">@cstoll</a>: was cool wäre wenn du mir das mit de father iterator erklären könnest, und wie du das mit &quot;durchängel bist zum cousin&quot; erklärne könnest:)</p>
<p>Wenn ich diese Lösung in 2 stunden habe.. wäre cool:)</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1314569</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1314569</guid><dc:creator><![CDATA[BorisDieKlinge]]></dc:creator><pubDate>Wed, 27 Jun 2007 09:05:57 GMT</pubDate></item></channel></rss>