<?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[doppel verkettete Liste]]></title><description><![CDATA[<p>Hi Leute!</p>
<p>Ich hab hier Code geschrieben der mir eine doppelt verkettete Liste implementieren soll.</p>
<pre><code class="language-cpp">#include&lt;iostream&gt;
using namespace std;

struct node
{
	node *previous;
	int value;
	node *next;
};

void initList(node *head, node *end)
{
	head = new node;
	end = new node;

	head-&gt;next=end;
	end-&gt;next=end;
}

void insertAfter(node *head, node *end, int wert)
{
	node *insert_element;
	insert_element = new node;		//insert_element anlegen

	insert_element-&gt;next = head-&gt;next;	//von head auf insert_element verbinden
	insert_element-&gt;value = wert;	//in value den Wert schreiben
	end-&gt;next = insert_element;		//von insert_element auf end verbinden

}

int main()
{
	node *element1, *element2, *element3, *element4;
	node *head, *end;

	initList(head, end);
	insertAfter(head, end, 5);

return 0;
}
</code></pre>
<p>Die Funktion insertAfter soll mir zwischen head und end ein neues Element insert_element einfügen. Ich hab nur hier jetzt irgendwie den Überblick verloren, ob das so stimmt. Könnt ihr mir helfen?</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/288981/doppel-verkettete-liste</link><generator>RSS for Node</generator><lastBuildDate>Wed, 19 Aug 2026 13:23:32 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/288981.rss" rel="self" type="application/rss+xml"/><pubDate>Sun, 26 Jun 2011 15:44:18 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to doppel verkettete Liste on Sun, 26 Jun 2011 15:44:18 GMT]]></title><description><![CDATA[<p>Hi Leute!</p>
<p>Ich hab hier Code geschrieben der mir eine doppelt verkettete Liste implementieren soll.</p>
<pre><code class="language-cpp">#include&lt;iostream&gt;
using namespace std;

struct node
{
	node *previous;
	int value;
	node *next;
};

void initList(node *head, node *end)
{
	head = new node;
	end = new node;

	head-&gt;next=end;
	end-&gt;next=end;
}

void insertAfter(node *head, node *end, int wert)
{
	node *insert_element;
	insert_element = new node;		//insert_element anlegen

	insert_element-&gt;next = head-&gt;next;	//von head auf insert_element verbinden
	insert_element-&gt;value = wert;	//in value den Wert schreiben
	end-&gt;next = insert_element;		//von insert_element auf end verbinden

}

int main()
{
	node *element1, *element2, *element3, *element4;
	node *head, *end;

	initList(head, end);
	insertAfter(head, end, 5);

return 0;
}
</code></pre>
<p>Die Funktion insertAfter soll mir zwischen head und end ein neues Element insert_element einfügen. Ich hab nur hier jetzt irgendwie den Überblick verloren, ob das so stimmt. Könnt ihr mir helfen?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2084326</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2084326</guid><dc:creator><![CDATA[vip*r]]></dc:creator><pubDate>Sun, 26 Jun 2011 15:44:18 GMT</pubDate></item><item><title><![CDATA[Reply to doppel verkettete Liste on Sun, 26 Jun 2011 16:03:38 GMT]]></title><description><![CDATA[<p>So wird das nichts. Implementiere die Liste als einzige Klasse.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2084335</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2084335</guid><dc:creator><![CDATA[EOutOfResources]]></dc:creator><pubDate>Sun, 26 Jun 2011 16:03:38 GMT</pubDate></item><item><title><![CDATA[Reply to doppel verkettete Liste on Sun, 26 Jun 2011 16:15:39 GMT]]></title><description><![CDATA[<p>Geht das wirklich nicht ohne Klassen? Laut Vorlesung kann ich an dieser Stelle noch gar keine Klassen <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/2084340</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2084340</guid><dc:creator><![CDATA[vip*r]]></dc:creator><pubDate>Sun, 26 Jun 2011 16:15:39 GMT</pubDate></item><item><title><![CDATA[Reply to doppel verkettete Liste on Sun, 26 Jun 2011 16:19:07 GMT]]></title><description><![CDATA[<p>Was ich ja eigentlich wissen wollte, ist, ob diese Funktion von der Überlegung her zumindestens Ansatzweise richtig wäre. Ich hab sie noch ein bisschen erweitert (um die previous-Richtung; is ja doppelt verkettet):</p>
<pre><code class="language-cpp">void insertAfter(node *head, node *end, int wert)
{
	node *insert_element;
	insert_element = new node;		//insert_element anlegen

	insert_element-&gt;value = wert;		//in value den Wert schreiben

	//next-Richtung
	insert_element-&gt;next = head-&gt;next;	//von head auf insert_element verbinden
	head-&gt;next = insert_element;		//von insert_element auf end verbinden

	//previous-Richtung
	insert_element-&gt;previous = end-&gt;previous;
	end-&gt;previous = insert_element;
}
</code></pre>
<p>Ich hab hier quasi ein head-Element und ein end-Element. Und genau zwischen diesen Elementen möchte ich ein neues Element das insert_element einhängen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2084341</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2084341</guid><dc:creator><![CDATA[vip*r]]></dc:creator><pubDate>Sun, 26 Jun 2011 16:19:07 GMT</pubDate></item><item><title><![CDATA[Reply to doppel verkettete Liste on Sun, 26 Jun 2011 16:20:20 GMT]]></title><description><![CDATA[<p>vip@r schrieb:</p>
<blockquote>
<p>Geht das wirklich nicht ohne Klassen? Laut Vorlesung kann ich an dieser Stelle noch gar keine Klassen <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>
</blockquote>
<p>Eine struct ist eine Klasse. Einziger Unterschied zwischen struct und class:<br />
Default-Sichtbarkeit bei class = private<br />
Default-Sichtbarkeit bei struct = public</p>
<p>Edit: Was EOutOfResources dir wohl sagen wollte ist, dass du keine freien Funktionen machen sollst, sondern Methoden.</p>
<p>lg</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2084342</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2084342</guid><dc:creator><![CDATA[[[global:guest]]]]></dc:creator><pubDate>Sun, 26 Jun 2011 16:20:20 GMT</pubDate></item><item><title><![CDATA[Reply to doppel verkettete Liste on Sun, 26 Jun 2011 16:20:00 GMT]]></title><description><![CDATA[<p>Gugelmoser schrieb:</p>
<blockquote>
<p>vip@r schrieb:</p>
<blockquote>
<p>Geht das wirklich nicht ohne Klassen? Laut Vorlesung kann ich an dieser Stelle noch gar keine Klassen <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>
</blockquote>
<p>Eine struct ist eine Klasse. Einziger Unterschied zwischen struct und class:<br />
Default-Sichtbarkeit bei class = private<br />
Default-Sichtbarkeit bei struct = public</p>
</blockquote>
<p>Er lernt in seiner Vorlesung aber C mit cout. Da ist das ein Unterschied vom Konzept her.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2084343</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2084343</guid><dc:creator><![CDATA[SeppJ]]></dc:creator><pubDate>Sun, 26 Jun 2011 16:20:00 GMT</pubDate></item><item><title><![CDATA[Reply to doppel verkettete Liste on Sun, 26 Jun 2011 16:20:55 GMT]]></title><description><![CDATA[<p>vip@r schrieb:</p>
<blockquote>
<p>Geht das wirklich nicht ohne Klassen?</p>
</blockquote>
<p>Doch, aber das ist ätzend.</p>
<p>vip@r schrieb:</p>
<blockquote>
<p>Laut Vorlesung kann ich an dieser Stelle noch gar keine Klassen <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>
</blockquote>
<p><code>node</code> auch ist eine Klasse.</p>
<p>EDIT: Viel zu langsam...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2084344</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2084344</guid><dc:creator><![CDATA[EOutOfResources]]></dc:creator><pubDate>Sun, 26 Jun 2011 16:20:55 GMT</pubDate></item><item><title><![CDATA[Reply to doppel verkettete Liste on Tue, 22 Nov 2011 13:54:31 GMT]]></title><description><![CDATA[<p>SeppJ schrieb:</p>
<blockquote>
<p>Gugelmoser schrieb:</p>
<blockquote>
<p>vip@r schrieb:</p>
<blockquote>
<p>Geht das wirklich nicht ohne Klassen? Laut Vorlesung kann ich an dieser Stelle noch gar keine Klassen <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>
</blockquote>
<p>Eine struct ist eine Klasse. Einziger Unterschied zwischen struct und class:<br />
Default-Sichtbarkeit bei class = private<br />
Default-Sichtbarkeit bei struct = public</p>
</blockquote>
<p>Er lernt in seiner Vorlesung aber C mit cout. Da ist das ein Unterschied vom Konzept her.</p>
</blockquote>
<p>Oh, das kenn ich von meinen Vorlesungen...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2084345</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2084345</guid><dc:creator><![CDATA[[[global:guest]]]]></dc:creator><pubDate>Tue, 22 Nov 2011 13:54:31 GMT</pubDate></item><item><title><![CDATA[Reply to doppel verkettete Liste on Sun, 26 Jun 2011 16:24:42 GMT]]></title><description><![CDATA[<p>Wie siehts jetzt mit obiger (leider editierter) Funktion aus?</p>
<p>Stimmt das so, oder nicht?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2084347</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2084347</guid><dc:creator><![CDATA[vip*r]]></dc:creator><pubDate>Sun, 26 Jun 2011 16:24:42 GMT</pubDate></item><item><title><![CDATA[Reply to doppel verkettete Liste on Sun, 26 Jun 2011 16:36:37 GMT]]></title><description><![CDATA[<p>vip@r schrieb:</p>
<blockquote>
<p>Wie siehts jetzt mit obiger (leider editierter) Funktion aus?</p>
<p>Stimmt das so, oder nicht?</p>
</blockquote>
<p>Hast du das Problem vollständig verstanden? Bist du der Meinung, es sollte so richtig sein? Funktioniert es? Warnt der Compiler nicht? Zeigt ein Speicherprüfer(z.B. valgrind) keine Fehler? Wenn du alle diese Fragen mit einem klaren Ja beantworten kannst, dann wird es wohl richtig sein. Ansonsten nicht. Aber dann hast du immerhin Techniken kennengelernt, wie du deinen Code auf grundlegende Funktion prüfen kannst. Das ist wichtiges Wissen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2084354</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2084354</guid><dc:creator><![CDATA[SeppJ]]></dc:creator><pubDate>Sun, 26 Jun 2011 16:36:37 GMT</pubDate></item><item><title><![CDATA[Reply to doppel verkettete Liste on Sun, 26 Jun 2011 16:46:09 GMT]]></title><description><![CDATA[<p>Gut. Der compiler warnt mich vor keinem Fehler wenn ich diesen Code ausführe. valgrind benutze ich nicht. Ich denke aber wenn der compiler nicht schreit, sollte das genug sein. TROTZDEM muss das Programm nicht richtig sein, auch wenn der compiler nicht schreit, oder? Und genau das, wird mir kein noch so gutes (Zusatz-)Programm sagen können, oder?</p>
<pre><code class="language-cpp">#include&lt;iostream&gt;
using namespace std;

struct node
{
	node *previous;
	int value;
	node *next;
};

void initList(node *head, node *end)
{
	head-&gt;next = end;
	end-&gt;next = end;

	end-&gt;previous = head;
	head-&gt;previous = head;
}

void insertAfter(node *head, node *end, int wert)
{
	node *insert_element;
	insert_element = new node;		//insert_element anlegen

	insert_element-&gt;value = wert;		//in value den Wert schreiben

	//next-Richtung
	insert_element-&gt;next = head-&gt;next;	//von head auf insert_element verbinden
	head-&gt;next = insert_element;		//von insert_element auf end verbinden

	//previous-Richtung
	insert_element-&gt;previous = end-&gt;previous;
	end-&gt;previous = insert_element;
}

int main()
{
	//node *element1, *element2, *element3, *element4;
	node *head, *end;

	head = new node;
	end = new node;

	initList(head, end);
	insertAfter(head, end, 5);

return 0;
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/2084355</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2084355</guid><dc:creator><![CDATA[vip*r]]></dc:creator><pubDate>Sun, 26 Jun 2011 16:46:09 GMT</pubDate></item><item><title><![CDATA[Reply to doppel verkettete Liste on Sun, 26 Jun 2011 16:52:56 GMT]]></title><description><![CDATA[<p>vip@r schrieb:</p>
<blockquote>
<p>Und genau das, wird mir kein noch so gutes (Zusatz-)Programm sagen können, oder?</p>
</blockquote>
<p>Aber hast du denn wenigstens mal getestet, ob es funktioniert? Oder anders gefragt: Hast du irgendeinen begründeten Verdacht, dass irgendetwas nicht stimmen könnte, außer mangelndes Vertrauen in dein eigenes Können?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2084359</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2084359</guid><dc:creator><![CDATA[SeppJ]]></dc:creator><pubDate>Sun, 26 Jun 2011 16:52:56 GMT</pubDate></item></channel></rss>