<?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 Listen]]></title><description><![CDATA[<p>Hi Leute <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>ich hab hier nen kleinen Code geschrieben um verkettete Listen zu lernen. <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="🙂"
    /><br />
Natürlich erst mal einfach verkettete später dann doppelt verkettete.<br />
Hier der Code:</p>
<pre><code class="language-cpp">#include &lt;iostream&gt;
using namespace std;

struct Listenknoten
{	
	int data;
	static int counter;
	Listenknoten *next;
};

static int counter = 0;
Listenknoten *head = NULL;
Listenknoten *neu = NULL;

void main()
{
	int inhalt = 0;
	int i = 0;

	for (i = 0; i &lt; 10; i++)
	{
		Listenknoten *neu = new Listenknoten;

                neu-&gt;next = head;
		head = neu;
	 	neu-&gt;data = inhalt + 1;
		counter++;
		inhalt++;
	}

// **************************** Erstes Element eingefuegen ***********************************
		Listenknoten *neu = new Listenknoten;	

                neu-&gt;next = head;
		head = neu;										neu-&gt;data = inhalt + 200;
		counter++;

 		cout &lt;&lt; head-&gt;data &lt;&lt; endl &lt;&lt; endl &lt;&lt; endl;

}
</code></pre>
<p>Ich hab per Forschleife ne Liste mit 10 Elementen erstellt und versuche dann ein neues erstes Element einzufügen.<br />
Wenn ich dann die Ausgabe mache</p>
<pre><code class="language-cpp">cout &lt;&lt; head-&gt;data &lt;&lt; endl &lt;&lt; endl &lt;&lt; endl;
</code></pre>
<p>wird das erste (das neu eingefügte) Element ausgegeben 210.</p>
<p>Mit head-&gt;next kann ich mich über die Nachfolger durchhangeln bis zum Ende der Liste.</p>
<p>ABER 1. müsste dann nicht diese Ausgabe</p>
<pre><code class="language-cpp">cout &lt;&lt; head-&gt;next-&gt;data &lt;&lt; endl &lt;&lt; endl &lt;&lt; endl;
</code></pre>
<p><img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f576.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--sunglasses"
      title=":sunglasses:"
      alt="🕶"
    /><br />
dazu führen dass die Zahl 1 ausgegeben wird und nicht die Zahl 10. <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f615.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--confused_face"
      title=":confused:"
      alt="😕"
    /></p>
<p>2. wie füge ich z.b.: 3 Elemente zwischen das beispielsweise 5. und 6. Element der Liste ein. <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f615.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--confused_face"
      title=":confused:"
      alt="😕"
    /></p>
<p>3. wie lasse ich das z.b.:4. 6. und 9. Element ausgeben? <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f615.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--confused_face"
      title=":confused:"
      alt="😕"
    /></p>
<p>Tut mir leid wenn sich die Fragerei etwas dämlich anhört aber ich verknot mir schon seit Stunden das Gehirn. Ich weiss auch dass in c++ statt Structs die Klassen die erste Wahl sind aber ich wollts erst in C verstanden haben.</p>
<p>Vielen Dank schon mal vorab <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="🙂"
    /> <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>ShadowEater <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/topic/155081/einfach-verkettete-listen</link><generator>RSS for Node</generator><lastBuildDate>Tue, 08 Sep 2026 05:33:53 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/155081.rss" rel="self" type="application/rss+xml"/><pubDate>Wed, 02 Aug 2006 13:24:06 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Einfach verkettete Listen on Wed, 02 Aug 2006 13:24:06 GMT]]></title><description><![CDATA[<p>Hi Leute <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>ich hab hier nen kleinen Code geschrieben um verkettete Listen zu lernen. <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="🙂"
    /><br />
Natürlich erst mal einfach verkettete später dann doppelt verkettete.<br />
Hier der Code:</p>
<pre><code class="language-cpp">#include &lt;iostream&gt;
using namespace std;

struct Listenknoten
{	
	int data;
	static int counter;
	Listenknoten *next;
};

static int counter = 0;
Listenknoten *head = NULL;
Listenknoten *neu = NULL;

void main()
{
	int inhalt = 0;
	int i = 0;

	for (i = 0; i &lt; 10; i++)
	{
		Listenknoten *neu = new Listenknoten;

                neu-&gt;next = head;
		head = neu;
	 	neu-&gt;data = inhalt + 1;
		counter++;
		inhalt++;
	}

// **************************** Erstes Element eingefuegen ***********************************
		Listenknoten *neu = new Listenknoten;	

                neu-&gt;next = head;
		head = neu;										neu-&gt;data = inhalt + 200;
		counter++;

 		cout &lt;&lt; head-&gt;data &lt;&lt; endl &lt;&lt; endl &lt;&lt; endl;

}
</code></pre>
<p>Ich hab per Forschleife ne Liste mit 10 Elementen erstellt und versuche dann ein neues erstes Element einzufügen.<br />
Wenn ich dann die Ausgabe mache</p>
<pre><code class="language-cpp">cout &lt;&lt; head-&gt;data &lt;&lt; endl &lt;&lt; endl &lt;&lt; endl;
</code></pre>
<p>wird das erste (das neu eingefügte) Element ausgegeben 210.</p>
<p>Mit head-&gt;next kann ich mich über die Nachfolger durchhangeln bis zum Ende der Liste.</p>
<p>ABER 1. müsste dann nicht diese Ausgabe</p>
<pre><code class="language-cpp">cout &lt;&lt; head-&gt;next-&gt;data &lt;&lt; endl &lt;&lt; endl &lt;&lt; endl;
</code></pre>
<p><img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f576.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--sunglasses"
      title=":sunglasses:"
      alt="🕶"
    /><br />
dazu führen dass die Zahl 1 ausgegeben wird und nicht die Zahl 10. <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f615.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--confused_face"
      title=":confused:"
      alt="😕"
    /></p>
<p>2. wie füge ich z.b.: 3 Elemente zwischen das beispielsweise 5. und 6. Element der Liste ein. <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f615.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--confused_face"
      title=":confused:"
      alt="😕"
    /></p>
<p>3. wie lasse ich das z.b.:4. 6. und 9. Element ausgeben? <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f615.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--confused_face"
      title=":confused:"
      alt="😕"
    /></p>
<p>Tut mir leid wenn sich die Fragerei etwas dämlich anhört aber ich verknot mir schon seit Stunden das Gehirn. Ich weiss auch dass in c++ statt Structs die Klassen die erste Wahl sind aber ich wollts erst in C verstanden haben.</p>
<p>Vielen Dank schon mal vorab <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="🙂"
    /> <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>ShadowEater <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/1109234</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1109234</guid><dc:creator><![CDATA[ShadowEater]]></dc:creator><pubDate>Wed, 02 Aug 2006 13:24:06 GMT</pubDate></item><item><title><![CDATA[Reply to Einfach verkettete Listen on Wed, 02 Aug 2006 13:31:50 GMT]]></title><description><![CDATA[<p>2. Indem du eine Methode <em>Insert</em> schreibst und ihr den gewünschten Knoten übergibts</p>
<p>3. Da deine verlinkte Liste nicht indiziert wird musst du beim ersten Element anfangen und die gewünschte Anzahl von Elementen, in einer Schleife, durchlaufen.</p>
<p>grüße</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1109243</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1109243</guid><dc:creator><![CDATA[David_pb]]></dc:creator><pubDate>Wed, 02 Aug 2006 13:31:50 GMT</pubDate></item><item><title><![CDATA[Reply to Einfach verkettete Listen on Wed, 02 Aug 2006 13:37:02 GMT]]></title><description><![CDATA[<p>Aha.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1109248</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1109248</guid><dc:creator><![CDATA[ShadowEater]]></dc:creator><pubDate>Wed, 02 Aug 2006 13:37:02 GMT</pubDate></item><item><title><![CDATA[Reply to Einfach verkettete Listen on Wed, 02 Aug 2006 13:46:54 GMT]]></title><description><![CDATA[<p>du fügst das Item nicht am Ende sondern am Anfang ein, deine Liste sieht also so aus:</p>
<p>210 10 9 8 7 6 5 4 3 2 1</p>
<p>und da ist nunmal head-&gt;next gleich 10</p>
<p>items einfügen ist einfach</p>
<pre><code class="language-cpp">Listenknoten* links,*rechts,* neu = new Listenknoten;
links = head;
rechts = head-&gt;next;

// neu setzen
...

links-&gt;next = neu;
neu-&gt;next = rechts;
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1109257</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1109257</guid><dc:creator><![CDATA[ESS_CB]]></dc:creator><pubDate>Wed, 02 Aug 2006 13:46:54 GMT</pubDate></item><item><title><![CDATA[Reply to Einfach verkettete Listen on Wed, 02 Aug 2006 14:19:38 GMT]]></title><description><![CDATA[<p>D*A*N*K*E* ESS_CB,</p>
<p>das hat mich schonmal nen Schritt weitergebracht.<br />
Bei Deinem Code, wo kann ich sagen ab wo das Element eingefügt wird?</p>
<p>Thx.<br />
ShadowEater</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1109287</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1109287</guid><dc:creator><![CDATA[ShadowEater]]></dc:creator><pubDate>Wed, 02 Aug 2006 14:19:38 GMT</pubDate></item><item><title><![CDATA[Reply to Einfach verkettete Listen on Wed, 02 Aug 2006 15:07:39 GMT]]></title><description><![CDATA[<p>Hat er doch bereits gesagt.<br />
Wenn du irgendwo in die Liste ein Element einfügen willst nimmst du nicht <em>head</em> sondern einen anderen Knoten...</p>
<pre><code class="language-cpp">void InsertAfter( Listenknoten *node )
{
  Listenknoten *newnode = new Listenknoten;
  newnode-&gt;next = node -&gt;next;
  node -&gt;next = newnode;
}
</code></pre>
<p>grüße</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1109353</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1109353</guid><dc:creator><![CDATA[David_pb]]></dc:creator><pubDate>Wed, 02 Aug 2006 15:07:39 GMT</pubDate></item><item><title><![CDATA[Reply to Einfach verkettete Listen on Wed, 02 Aug 2006 15:21:10 GMT]]></title><description><![CDATA[<p>Sry,</p>
<p>tut mir echt leid aber ich steh echt aufm Schlauch <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f61e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--disappointed_face"
      title=":("
      alt="😞"
    /> und seh den Wald vor lauter Bäumen net <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f576.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--sunglasses"
      title=":sunglasses:"
      alt="🕶"
    /> .<br />
Könntet ihr mir an Hand meines Bsp. von ober das hier zeigen:</p>
<p>3 Elemente zwischen das beispielsweise 5. und 6. Element der Liste ein. <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f615.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--confused_face"
      title=":confused:"
      alt="😕"
    /><br />
4. 6. und 9. Element ausgeben. <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f615.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--confused_face"
      title=":confused:"
      alt="😕"
    /></p>
<p>Ich will echt keinen source leechen oder andere meine Arbeit tun lassen aber ich raffs grad echt net.</p>
<p>Vielen Dank für eure Mühe schon mal vorab <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>ShadowEater</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1109369</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1109369</guid><dc:creator><![CDATA[ShadowEater]]></dc:creator><pubDate>Wed, 02 Aug 2006 15:21:10 GMT</pubDate></item><item><title><![CDATA[Reply to Einfach verkettete Listen on Wed, 02 Aug 2006 15:38:44 GMT]]></title><description><![CDATA[<p>Hi!</p>
<p>Dann hier ein schnelles Beispiel:</p>
<pre><code class="language-cpp">#include &lt;iostream&gt;

struct ListNode
{
	int data;
	ListNode *next;
};

void InsertAfter( ListNode *node, int value )
{
	ListNode *newnode = new ListNode;
	newnode-&gt;data = value;
	newnode-&gt;next = node-&gt;next;
	node-&gt;next = newnode;
}

ListNode *GetByIndex( ListNode *root, int index )
{
	ListNode *p = root-&gt;next;

	while ( index-- )
	{
		if ( !p-&gt;next )
			return 0;

		p = p-&gt;next;
	}

	return p;
}

int main()
{
	int i;
	ListNode *root = new ListNode;
	root-&gt;next = 0;

	// Fuellen 9, 8, 7, ...
	for ( i = 0; i &lt; 10; ++i )
	{
		InsertAfter( root, i );
	}

	// Suche node an &quot;Index&quot; 5
	ListNode *node = GetByIndex( root, 5 );

	if ( !node )
	{
		std::cout &lt;&lt; &quot;Nichts entsprechendes gefunden\n&quot;;
	}
	else
	{
		for ( i = 0; i &lt; 3; ++i )
		{
			InsertAfter( node, ((i+1)*10) );
		}
	}

	// Nodes 4, 6 und 9 ausgeben
	int indice[] = { 4, 6, 9 };

	for ( i = 0; i &lt; 3; ++i )
	{
		ListNode *nochmalnenode = GetByIndex( root, indice[ i ] );

		if ( nochmalnenode )
		{
			std::cout &lt;&lt; &quot;Node an Index &quot; &lt;&lt; indice[ i ] &lt;&lt; &quot; &quot; &lt;&lt; nochmalnenode-&gt;data &lt;&lt; std::endl;
		}
	}

	// Ganze Liste ausgeben
	ListNode *p = root-&gt;next;

	for( ; p; p = p-&gt;next )
	{
		std::cout &lt;&lt; p-&gt;data &lt;&lt; std::endl;
	}

	std::cin.get();
	return 0;
}
</code></pre>
<p>Schöner wärs übrigens wenn du alles in eine Klasse packen würdest. Und freigeben des Speichers bitte nicht vergessen!</p>
<p>grüße</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1109379</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1109379</guid><dc:creator><![CDATA[David_pb]]></dc:creator><pubDate>Wed, 02 Aug 2006 15:38:44 GMT</pubDate></item><item><title><![CDATA[Reply to Einfach verkettete Listen on Wed, 02 Aug 2006 18:31:27 GMT]]></title><description><![CDATA[<p>Oh Mann,</p>
<p>danke David_pb Du bist echt gut!</p>
<p>Vielen Dank für Deine Mühe!<br />
P.S.:</p>
<p>Könnten wir mal Chatten? <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>Bye<br />
ShadowEater <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/1109482</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1109482</guid><dc:creator><![CDATA[ShadowEater]]></dc:creator><pubDate>Wed, 02 Aug 2006 18:31:27 GMT</pubDate></item></channel></rss>