<?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[einfach verkettete Liste]]></title><description><![CDATA[<p>Hallo, ich habe ein Problem mit einfach verketteten Listen, wenn es darum geht ein neues Element ans Ende der Liste anzuhängen.</p>
<p>Folgende Funktion hab ich geschrieben:</p>
<pre><code class="language-cpp">void insertElementHinten(List &amp;first, ListTyp inhalt)
{
    ListElement * ptrElem = new ListElement;
    ptrElem-&gt;next = NULL;
    ptrElem-&gt;inhalt = inhalt;
    if (first == EMPTYLIST)
    {
    first = ptrElem;
    }
    else
    {
    while (first-&gt;next != 0)
          {
                  first = first-&gt;next;
          }
           first-&gt;next = ptrElem;
          }
}
</code></pre>
<p>Folgende Struktur liegt vor:</p>
<pre><code class="language-cpp">struct ListElement
{
       ListTyp inhalt;
       ListElement *next;
};

typedef ListElement * List;
const List EMPTYLIST = 0;
</code></pre>
<p>und folgende main:</p>
<pre><code class="language-cpp">int main()
{ 
    List l1 = EMPTYLIST;

   insertElementHinten(l1,1);
   insertElementHinten(l1,2);
   insertElementHinten(l1,3);
   insertElementHinten(l1,4);
}
</code></pre>
<p>Allerdings gibt das Programm immer nur die letzten 2 Elemente aus, sprich 3 und 4 und ich hab keinen Plan warum.</p>
<p>Danke</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/266684/einfach-verkettete-liste</link><generator>RSS for Node</generator><lastBuildDate>Thu, 03 Sep 2026 01:55:45 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/266684.rss" rel="self" type="application/rss+xml"/><pubDate>Wed, 12 May 2010 13:52:45 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to einfach verkettete Liste on Wed, 12 May 2010 13:53:30 GMT]]></title><description><![CDATA[<p>Hallo, ich habe ein Problem mit einfach verketteten Listen, wenn es darum geht ein neues Element ans Ende der Liste anzuhängen.</p>
<p>Folgende Funktion hab ich geschrieben:</p>
<pre><code class="language-cpp">void insertElementHinten(List &amp;first, ListTyp inhalt)
{
    ListElement * ptrElem = new ListElement;
    ptrElem-&gt;next = NULL;
    ptrElem-&gt;inhalt = inhalt;
    if (first == EMPTYLIST)
    {
    first = ptrElem;
    }
    else
    {
    while (first-&gt;next != 0)
          {
                  first = first-&gt;next;
          }
           first-&gt;next = ptrElem;
          }
}
</code></pre>
<p>Folgende Struktur liegt vor:</p>
<pre><code class="language-cpp">struct ListElement
{
       ListTyp inhalt;
       ListElement *next;
};

typedef ListElement * List;
const List EMPTYLIST = 0;
</code></pre>
<p>und folgende main:</p>
<pre><code class="language-cpp">int main()
{ 
    List l1 = EMPTYLIST;

   insertElementHinten(l1,1);
   insertElementHinten(l1,2);
   insertElementHinten(l1,3);
   insertElementHinten(l1,4);
}
</code></pre>
<p>Allerdings gibt das Programm immer nur die letzten 2 Elemente aus, sprich 3 und 4 und ich hab keinen Plan warum.</p>
<p>Danke</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1896261</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1896261</guid><dc:creator><![CDATA[Tpau]]></dc:creator><pubDate>Wed, 12 May 2010 13:53:30 GMT</pubDate></item><item><title><![CDATA[Reply to einfach verkettete Liste on Wed, 12 May 2010 14:02:52 GMT]]></title><description><![CDATA[<pre><code class="language-cpp">while (first-&gt;next != 0)
          {
                  first = first-&gt;next;
          }
</code></pre>
<p>Das wäre ok, wenn first einfach eine lokale Variable wäre.<br />
Es ist aber eine Referenz auf den Listenanfang, also vergisst du hier alle übersprungenen Elemente.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1896268</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1896268</guid><dc:creator><![CDATA[camper]]></dc:creator><pubDate>Wed, 12 May 2010 14:02:52 GMT</pubDate></item><item><title><![CDATA[Reply to einfach verkettete Liste on Wed, 12 May 2010 14:28:11 GMT]]></title><description><![CDATA[<p>camper schrieb:</p>
<blockquote>
<pre><code class="language-cpp">while (first-&gt;next != 0)
          {
                  first = first-&gt;next;
          }
</code></pre>
<p>Das wäre ok, wenn first einfach eine lokale Variable wäre.<br />
Es ist aber eine Referenz auf den Listenanfang, also vergisst du hier alle übersprungenen Elemente.</p>
</blockquote>
<p>Das heißt? First sollte lokal sein? Wenn ich das allerdings mach, wird gar nichts mehr ausgegeben.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1896285</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1896285</guid><dc:creator><![CDATA[Tpau]]></dc:creator><pubDate>Wed, 12 May 2010 14:28:11 GMT</pubDate></item><item><title><![CDATA[Reply to einfach verkettete Liste on Wed, 12 May 2010 14:34:44 GMT]]></title><description><![CDATA[<p>Tpau schrieb:</p>
<blockquote>
<p>First sollte lokal sein?</p>
</blockquote>
<p>nein. Aber die Schleife muss mit einer lokalen Variable operieren. also</p>
<pre><code class="language-cpp">ListElement* p = first;
         while (p-&gt;next != 0)
          {
                  p = p-&gt;next;
          }
           p-&gt;next = ptrElem;
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1896289</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1896289</guid><dc:creator><![CDATA[camper]]></dc:creator><pubDate>Wed, 12 May 2010 14:34:44 GMT</pubDate></item><item><title><![CDATA[Reply to einfach verkettete Liste on Wed, 12 May 2010 14:37:50 GMT]]></title><description><![CDATA[<p>camper schrieb:</p>
<blockquote>
<p>Tpau schrieb:</p>
<blockquote>
<p>First sollte lokal sein?</p>
</blockquote>
<p>nein. Aber die Schleife muss mit einer lokalen Variable operieren. also</p>
<pre><code class="language-cpp">ListElement* p = first;
         while (p-&gt;next != 0)
          {
                  p = p-&gt;next;
          }
           p-&gt;next = ptrElem;
</code></pre>
</blockquote>
<p>Vielen Dank, endlich funktionierts! <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>
]]></description><link>https://www.c-plusplus.net/forum/post/1896291</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1896291</guid><dc:creator><![CDATA[Tpau]]></dc:creator><pubDate>Wed, 12 May 2010 14:37:50 GMT</pubDate></item></channel></rss>