<?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[Zeiger (Verkettete Listen)]]></title><description><![CDATA[<p>Folgend Funktion verstehe ich:</p>
<pre><code>struct Element
{
string name ;
int nummer ;
Element * next ; // Zeiger auf nächstes Element
};
</code></pre>
<p>Ausgabe wäre dann:</p>
<p>/name/nummer/next/ -&gt;</p>
<p>Mein Problem liegt jedoch etwas hier. Aufbau einer verketteten Liste mit zwei Elementen:</p>
<pre><code>Element * anfang = new Element ; //Zeiger auf Anfangselement,warum das new? 
anfang -&gt; name = &quot; Peter Meier &quot;; // Anfangselement enthält bzw. zeigt auf name
anfang -&gt; numer = 230001; //Anfangselement enthält bzw. zeigt auf nummer
anfang -&gt; next = NULL ; //Endet ohne auf ein anderes Element zu zeigen

Element * zweites = new Element ; //Zeiger auf Zweiteselementn warum das new? Und müsste es nicht Element2 aluten also ungleich der Name beim anfang?
zweites -&gt; name = &quot; Gabi Schmidt &quot;; //Zweiteselement enthält bzw. zeigt auf name
zweites -&gt; nummer = 231102;//Zweiteselement enthält bzw. zeigt auf nummer
anfang -&gt; next = NULL ; //Endet ohne aiuf ein weiteres Element zu zeigen

anfang -&gt; next = zweites ; //Verkettung 1.und 2. Element - Element 1 zeigt auf 2 Element
</code></pre>
<p>So ich bin mir da noch unsicher. Wieso das new ? Und warum heißen beide Elemente gleich? Besser wäre es zwei verschiedene Namen zu haben oder? So sollte es dann aussehen:</p>
<p>ANFANGSELEMENT ZWEITESELEMENT<br />
/name/nummer/next-&gt; /NAME/NUMMER/NEXT</p>
<p>Und der Befehl -&gt; sagt aus welche Werte im Element sind oder nicht zu verwechseln mit next-&gt; welches bei der Ausgabe darstellen soll, dass es auf das nächste Element zeigt?</p>
<p>Ich freue mich über jede Antwort!</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/323419/zeiger-verkettete-listen</link><generator>RSS for Node</generator><lastBuildDate>Thu, 16 Jul 2026 02:43:50 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/323419.rss" rel="self" type="application/rss+xml"/><pubDate>Wed, 29 Jan 2014 12:10:03 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Zeiger (Verkettete Listen) on Wed, 29 Jan 2014 12:12:33 GMT]]></title><description><![CDATA[<p>Folgend Funktion verstehe ich:</p>
<pre><code>struct Element
{
string name ;
int nummer ;
Element * next ; // Zeiger auf nächstes Element
};
</code></pre>
<p>Ausgabe wäre dann:</p>
<p>/name/nummer/next/ -&gt;</p>
<p>Mein Problem liegt jedoch etwas hier. Aufbau einer verketteten Liste mit zwei Elementen:</p>
<pre><code>Element * anfang = new Element ; //Zeiger auf Anfangselement,warum das new? 
anfang -&gt; name = &quot; Peter Meier &quot;; // Anfangselement enthält bzw. zeigt auf name
anfang -&gt; numer = 230001; //Anfangselement enthält bzw. zeigt auf nummer
anfang -&gt; next = NULL ; //Endet ohne auf ein anderes Element zu zeigen

Element * zweites = new Element ; //Zeiger auf Zweiteselementn warum das new? Und müsste es nicht Element2 aluten also ungleich der Name beim anfang?
zweites -&gt; name = &quot; Gabi Schmidt &quot;; //Zweiteselement enthält bzw. zeigt auf name
zweites -&gt; nummer = 231102;//Zweiteselement enthält bzw. zeigt auf nummer
anfang -&gt; next = NULL ; //Endet ohne aiuf ein weiteres Element zu zeigen

anfang -&gt; next = zweites ; //Verkettung 1.und 2. Element - Element 1 zeigt auf 2 Element
</code></pre>
<p>So ich bin mir da noch unsicher. Wieso das new ? Und warum heißen beide Elemente gleich? Besser wäre es zwei verschiedene Namen zu haben oder? So sollte es dann aussehen:</p>
<p>ANFANGSELEMENT ZWEITESELEMENT<br />
/name/nummer/next-&gt; /NAME/NUMMER/NEXT</p>
<p>Und der Befehl -&gt; sagt aus welche Werte im Element sind oder nicht zu verwechseln mit next-&gt; welches bei der Ausgabe darstellen soll, dass es auf das nächste Element zeigt?</p>
<p>Ich freue mich über jede Antwort!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2380356</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2380356</guid><dc:creator><![CDATA[ZetaGamma]]></dc:creator><pubDate>Wed, 29 Jan 2014 12:12:33 GMT</pubDate></item><item><title><![CDATA[Reply to Zeiger (Verkettete Listen) on Wed, 29 Jan 2014 12:24:53 GMT]]></title><description><![CDATA[<p>ZetaGamma schrieb:</p>
<blockquote>
<p>Wieso das new ? Und warum heißen beide Elemente gleich? Besser wäre es zwei verschiedene Namen zu haben oder?</p>
</blockquote>
<p>In diesem Fall kannst Du das <code>new</code> auch weglassen (streng genommen ist das sogar besser). Es muss dann aber das '-&gt;' durch '.' ersetzt werden.<br />
Allgemein erzeugt man solche Objekte aber auf dem Heap (also mit <code>new</code> ), weil Du sie dann mit einem einzigen Pointer 'herum reichen' kannst.</p>
<p>Die beiden Elemente haben verschieden Namen. Das erste heißt ' <code>anfang</code> ' und das zweite ' <code>zweites</code> ' (siehe Dein Code).</p>
<p>ZetaGamma schrieb:</p>
<blockquote>
<p>So sollte es dann aussehen:</p>
<p>ANFANGSELEMENT ZWEITESELEMENT<br />
/name/nummer/next-&gt; /NAME/NUMMER/NEXT</p>
</blockquote>
<p>Ist das die Ausgabe? dann zeige mal den Code.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2380360</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2380360</guid><dc:creator><![CDATA[Werner_logoff]]></dc:creator><pubDate>Wed, 29 Jan 2014 12:24:53 GMT</pubDate></item><item><title><![CDATA[Reply to Zeiger (Verkettete Listen) on Wed, 29 Jan 2014 12:57:58 GMT]]></title><description><![CDATA[<p>Es ging eher um die theoretische Ausgabe.</p>
<p>Es sollte in Richtung <a href="http://media.virtual-maxim.de/uploads/2010/06/liste_einfachverkettet.png" rel="nofollow">http://media.virtual-maxim.de/uploads/2010/06/liste_einfachverkettet.png</a> gehen.</p>
<p>Ich denke ich habe es aber endlich fast verstanden, weil mir gerade etwas eingefallen ist was ich davor falsch interpretiert hatte. Folgende zwei Codes hängen beieinander bzw. fest zusammen oder? Es geht nämlich um den Code zu 100% zu verstehen.</p>
<pre><code>struct Element
{
string name ;
int nummer ;
Element * next ; // Zeiger auf nächstes Element
};
</code></pre>
<pre><code>Element * anfang = new Element
.... // Hier stehen die Daten der Liste mithilfe anfang -&gt; Datenname
anfang -&gt; next = NULL

Element * zweites = new Element ; 
..... // Hier stehen die Daten der Liste mithilfe zweites -&gt; Datenname
anfang -&gt; next = NULL ;

anfang -&gt; next = zweites ;
</code></pre>
<p>// Anfang zeigt auf nächstes Element mit Namen ,,zweites&quot;</p>
<p>Wie würde denn alles nun ,,zeichnerisch&quot; als Verkette Liste aussehen, also wie bei <a href="http://media.virtual-maxim.de/uploads/2010/06/liste_einfachverkettet.png" rel="nofollow">http://media.virtual-maxim.de/uploads/2010/06/liste_einfachverkettet.png</a></p>
<p>Und jetzt könnte ich zb. eine Liste mithilfe</p>
<p>{<br />
struct Person { //struct: Datenspeicher in selbstgewählter Form<br />
string name;<br />
int alter;</p>
<p>};</p>
<p>z.b.<br />
Person peter;<br />
<a href="http://peter.name" rel="nofollow">peter.name</a> = &quot;peter&quot;;<br />
peter.alter = 32;</p>
<p>erstellen oder?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2380371</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2380371</guid><dc:creator><![CDATA[ZetaGamma]]></dc:creator><pubDate>Wed, 29 Jan 2014 12:57:58 GMT</pubDate></item><item><title><![CDATA[Reply to Zeiger (Verkettete Listen) on Wed, 29 Jan 2014 13:05:36 GMT]]></title><description><![CDATA[<p>Zeile 7 soll sicher</p>
<pre><code>zweites  -&gt; next = NULL;
</code></pre>
<p>sein.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2380373</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2380373</guid><dc:creator><![CDATA[DirkB]]></dc:creator><pubDate>Wed, 29 Jan 2014 13:05:36 GMT</pubDate></item><item><title><![CDATA[Reply to Zeiger (Verkettete Listen) on Wed, 29 Jan 2014 13:33:06 GMT]]></title><description><![CDATA[<p>Wow, das muss wohl stimmem was sie sagen und deshalb ein Fehler im Skript sein oder?</p>
<pre><code>struct Element
{
string name ;
int nummer ;
Element * next ; // Zeiger auf nächstes Element
};
</code></pre>
<pre><code>Element * anfang = new Element ;
anfang -&gt; name = &quot; Peter Meier &quot;;
anfang -&gt; numer = 230001;
anfang -&gt; next = NULL ;

Element * zweites = new Element ;
zweites -&gt; name = &quot; Gabi Schmidt &quot;;
zweites -&gt; nummer = 231102;
anfang -&gt; next = NULL ; // Hier muss es zweites -&gt; next = NULL 100% lauten ?

anfang -&gt; next = zweites ;
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/2380384</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2380384</guid><dc:creator><![CDATA[ZetaGamma]]></dc:creator><pubDate>Wed, 29 Jan 2014 13:33:06 GMT</pubDate></item><item><title><![CDATA[Reply to Zeiger (Verkettete Listen) on Wed, 29 Jan 2014 14:06:57 GMT]]></title><description><![CDATA[<p>Ist das ein Skript für C oder für C++?<br />
Falls es behauptet, dass es Dir C++ beibringt, dann wirf es lieber weg.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2380396</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2380396</guid><dc:creator><![CDATA[Werner_logoff]]></dc:creator><pubDate>Wed, 29 Jan 2014 14:06:57 GMT</pubDate></item><item><title><![CDATA[Reply to Zeiger (Verkettete Listen) on Wed, 29 Jan 2014 14:25:54 GMT]]></title><description><![CDATA[<p>Es geht um C++, also heißt es zweites -&gt; next = NULL und dort hat sich also ein Fehler unterlaufen ?</p>
<p>Das Skript wird als Stütze genutzt nicht nur als Quelle.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2380408</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2380408</guid><dc:creator><![CDATA[ZetaGamma]]></dc:creator><pubDate>Wed, 29 Jan 2014 14:25:54 GMT</pubDate></item><item><title><![CDATA[Reply to Zeiger (Verkettete Listen) on Wed, 29 Jan 2014 14:47:46 GMT]]></title><description><![CDATA[<p>ZetaGamma schrieb:</p>
<blockquote>
<p>Es geht um C++, also heißt es zweites -&gt; next = NULL und dort hat sich also ein Fehler unterlaufen ?</p>
<p>Das Skript wird als Stütze genutzt nicht nur als Quelle.</p>
</blockquote>
<p>Ich sehe nicht in dem Fehler ein Problem, sondern in der Art und Weise wie eine verkettete Liste erklärt wird.</p>
<p>Vorher solltest Du Dich mit Konstruktor und Destruktor auskennen - das ist viel wichtiger.<br />
Dann sähe Dein Element so aus:</p>
<pre><code>struct Element
{
    Element() : name(), nummer(-1), next(NULL) {}
    Element( const std::string&amp; n, int nr ) 
        : name(n), nummer(nr), next(NULL) 
    {}
    // Member
    std::string name;
    int nummer;
    Element* next; // Zeiger auf nächstes Element
};
</code></pre>
<p>und der Code wäre viel einfacher:</p>
<pre><code>Element anfang( &quot; Peter Meier &quot;, 230001 );
    Element zwei( &quot; Gabi Schmidt &quot;, 231102 );
    anfang.next = &amp;zwei;
</code></pre>
<p>.. oder meinetwegen auch mit Zeigern</p>
<p>Und last but not least - eine Liste wäre eine Liste also eine Klasse:</p>
<pre><code>class Liste
{
    struct Element
    {
        Element() : name(), nummer(-1), next(NULL) {}
        Element( const std::string&amp; n, int nr ) 
            : name(n), nummer(nr), next(NULL) 
        {}
        // Member
        std::string name;
        int nummer;
        Element* next; // Zeiger auf nächstes Element
    };
public: 
    Liste();
    // ... weitere Methoden
private:
    Element* anfang; // Zeiger auf das erste Element
};
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/2380419</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2380419</guid><dc:creator><![CDATA[Werner_logoff]]></dc:creator><pubDate>Wed, 29 Jan 2014 14:47:46 GMT</pubDate></item></channel></rss>