<?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 Leute.Ich will aus einer einfach verketteten Liste eine doppelt verkettete Liste machen.<br />
Kann mir da jemand helfen?<br />
Hier ist die einfach verkettete Liste:</p>
<p>P.S Die funktion ausgeben() darf nicht verändert werden.</p>
<p>#include &lt;iostream.h&gt;</p>
<p>// Definition des Typs für die Elemente der Liste als Struktur<br />
struct listenelement {<br />
char daten[30];<br />
listenelement* next;<br />
};</p>
<p>// Zeiger auf den Anfang der Liste<br />
listenelement* listenanfang;</p>
<p>// Hilfszeiger, um in der Liste wandern zu können<br />
listenelement* hilfszeiger;</p>
<p>// Funktion zum Einfügen von Elementen in die Liste<br />
void einfuegen(char datenneu[30]) {<br />
// Hilfszeiger an den Anfang der Liste setzen<br />
hilfszeiger = listenanfang;<br />
//Durch die Liste gehen, bis das letzte Element<br />
//erreicht ist<br />
while (hilfszeiger-&gt;next != NULL) {<br />
hilfszeiger = hilfszeiger-&gt;next;<br />
}<br />
// Neues Element in die Liste einfügen<br />
hilfszeiger-&gt;next = new(listenelement);<br />
// Hilfszeiger auf das neue Element setzen<br />
hilfszeiger = hilfszeiger-&gt;next;<br />
// Daten im neuen Element eintragen<br />
strcpy(hilfszeiger-&gt;daten,datenneu);<br />
hilfszeiger-&gt;next = NULL;<br />
}</p>
<p>// Alle Elemente der Liste ausgeben<br />
void ausgeben() {<br />
// Hilfszeiger auf den Anfang der Liste setzen<br />
hilfszeiger = listenanfang;<br />
// erstes Element ausgeben<br />
cout &lt;&lt; hilfszeiger-&gt;daten &lt;&lt; &quot;\n&quot;;<br />
// Solange das Ende der Liste noch nicht erreicht ist :<br />
while (hilfszeiger-&gt;next != NULL) {<br />
//hilfszeiger auf nächstes Element setzen<br />
hilfszeiger = hilfszeiger-&gt;next;<br />
//Daten ausgeben<br />
cout &lt;&lt; hilfszeiger-&gt;daten &lt;&lt; &quot;\n&quot;;<br />
}<br />
}</p>
<p>// Initialisieren der Liste<br />
void init() {<br />
//erstes Element erzeugen<br />
listenanfang = new(listenelement);<br />
//Daten in das erste Element schreiben<br />
listenanfang-&gt;next = NULL;<br />
strcpy(listenanfang-&gt;daten,&quot;Element 0&quot;);<br />
}</p>
<p>// Liste leeren und speicher freigeben<br />
void ende() {<br />
//Solange noch Elemente in der Liste sind<br />
while (listenanfang != NULL) {<br />
//Hilfszeiger auf das erste Element der Liste<br />
hilfszeiger = listenanfang;<br />
//Zeiger für den Listenanfang auf das<br />
//nächste Element setzen<br />
listenanfang = listenanfang-&gt;next;<br />
//Das herausgenommene Element löschen<br />
delete(hilfszeiger);<br />
}<br />
}</p>
<p>void main () {<br />
init();<br />
einfuegen(&quot;Element 1&quot;);<br />
einfuegen(&quot;Element 2&quot;);<br />
ausgeben();<br />
ende();</p>
<p>char p[50];<br />
cin.getline(p,50);<br />
}</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/160866/einfach-verkettete-liste</link><generator>RSS for Node</generator><lastBuildDate>Fri, 11 Sep 2026 17:26:00 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/160866.rss" rel="self" type="application/rss+xml"/><pubDate>Sat, 30 Sep 2006 10:49:30 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Einfach verkettete Liste on Sat, 30 Sep 2006 10:49:30 GMT]]></title><description><![CDATA[<p>Hallo Leute.Ich will aus einer einfach verketteten Liste eine doppelt verkettete Liste machen.<br />
Kann mir da jemand helfen?<br />
Hier ist die einfach verkettete Liste:</p>
<p>P.S Die funktion ausgeben() darf nicht verändert werden.</p>
<p>#include &lt;iostream.h&gt;</p>
<p>// Definition des Typs für die Elemente der Liste als Struktur<br />
struct listenelement {<br />
char daten[30];<br />
listenelement* next;<br />
};</p>
<p>// Zeiger auf den Anfang der Liste<br />
listenelement* listenanfang;</p>
<p>// Hilfszeiger, um in der Liste wandern zu können<br />
listenelement* hilfszeiger;</p>
<p>// Funktion zum Einfügen von Elementen in die Liste<br />
void einfuegen(char datenneu[30]) {<br />
// Hilfszeiger an den Anfang der Liste setzen<br />
hilfszeiger = listenanfang;<br />
//Durch die Liste gehen, bis das letzte Element<br />
//erreicht ist<br />
while (hilfszeiger-&gt;next != NULL) {<br />
hilfszeiger = hilfszeiger-&gt;next;<br />
}<br />
// Neues Element in die Liste einfügen<br />
hilfszeiger-&gt;next = new(listenelement);<br />
// Hilfszeiger auf das neue Element setzen<br />
hilfszeiger = hilfszeiger-&gt;next;<br />
// Daten im neuen Element eintragen<br />
strcpy(hilfszeiger-&gt;daten,datenneu);<br />
hilfszeiger-&gt;next = NULL;<br />
}</p>
<p>// Alle Elemente der Liste ausgeben<br />
void ausgeben() {<br />
// Hilfszeiger auf den Anfang der Liste setzen<br />
hilfszeiger = listenanfang;<br />
// erstes Element ausgeben<br />
cout &lt;&lt; hilfszeiger-&gt;daten &lt;&lt; &quot;\n&quot;;<br />
// Solange das Ende der Liste noch nicht erreicht ist :<br />
while (hilfszeiger-&gt;next != NULL) {<br />
//hilfszeiger auf nächstes Element setzen<br />
hilfszeiger = hilfszeiger-&gt;next;<br />
//Daten ausgeben<br />
cout &lt;&lt; hilfszeiger-&gt;daten &lt;&lt; &quot;\n&quot;;<br />
}<br />
}</p>
<p>// Initialisieren der Liste<br />
void init() {<br />
//erstes Element erzeugen<br />
listenanfang = new(listenelement);<br />
//Daten in das erste Element schreiben<br />
listenanfang-&gt;next = NULL;<br />
strcpy(listenanfang-&gt;daten,&quot;Element 0&quot;);<br />
}</p>
<p>// Liste leeren und speicher freigeben<br />
void ende() {<br />
//Solange noch Elemente in der Liste sind<br />
while (listenanfang != NULL) {<br />
//Hilfszeiger auf das erste Element der Liste<br />
hilfszeiger = listenanfang;<br />
//Zeiger für den Listenanfang auf das<br />
//nächste Element setzen<br />
listenanfang = listenanfang-&gt;next;<br />
//Das herausgenommene Element löschen<br />
delete(hilfszeiger);<br />
}<br />
}</p>
<p>void main () {<br />
init();<br />
einfuegen(&quot;Element 1&quot;);<br />
einfuegen(&quot;Element 2&quot;);<br />
ausgeben();<br />
ende();</p>
<p>char p[50];<br />
cin.getline(p,50);<br />
}</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1146934</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1146934</guid><dc:creator><![CDATA[Axel40]]></dc:creator><pubDate>Sat, 30 Sep 2006 10:49:30 GMT</pubDate></item><item><title><![CDATA[Reply to Einfach verkettete Liste on Sat, 30 Sep 2006 11:41:34 GMT]]></title><description><![CDATA[<p>Naja, also prinzipiell musst du einfach in dein Listenelement einen Eintrag *previous mit dazunehmen. Ausgeben klappt dann noch genauso. Du musst nur bei Listenoperationen immer drauf achten, dass du nicht nur den next-Zeiger sondern auch den previous-Zeiger anpasst. Das hört sich einfach an, ist aber teilweise ziemlich nervig - vorallem wenn du Elemente einfügst musst du insgesamt 4 Zeiger setzen und brauchst evtl. einen Hilfszeiger als Zwischenspeicher.</p>
<p>Wars das was du meintest oder suchst du ne Implementation?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1146951</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1146951</guid><dc:creator><![CDATA[fehlersucher]]></dc:creator><pubDate>Sat, 30 Sep 2006 11:41:34 GMT</pubDate></item><item><title><![CDATA[Reply to Einfach verkettete Liste on Tue, 03 Oct 2006 16:18:30 GMT]]></title><description><![CDATA[<p>Servus ihr beiden,<br />
ich stehe vor einem ähnlichen Problem aus ner einfach verketteten Liste eine doppelt verkettete Liste zu erstellen. Kann jemand dazu mal ein paar Quellcodezeilen posten, wäre echt hilfreich.<br />
Ich sage schon mal ganz artig dankeschön und wünsche euch noch ne schöne Woche.</p>
<p>P.S. Ist schon komisch das es im Forum nicht direkt was dazu gibt zu dem Thema, in jeder Schule mit Programmieren wird dieser Bereich durchgenommen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1148761</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1148761</guid><dc:creator><![CDATA[Black Scorpion]]></dc:creator><pubDate>Tue, 03 Oct 2006 16:18:30 GMT</pubDate></item><item><title><![CDATA[Reply to Einfach verkettete Liste on Tue, 03 Oct 2006 16:59:13 GMT]]></title><description><![CDATA[<p>[/quote]<br />
Ist schon komisch das es im Forum nicht direkt was dazu gibt zu dem Thema, in jeder Schule mit Programmieren wird dieser Bereich durchgenommen.<br />
[quote]</p>
<p>So seltsam ist das gar nicht, wenn man nicht gerade versucht zu verstehen wie das geht, benutzt man einfach Zeugs aus der STL.<br />
Und da in einem Forum wie hier, wo wohl fast ausschließlich Hobbyisten vorbei kommen, suche die meisten auch einfach nur Lösungen für praxisnahe Probleme, für die, die STL dann auch besser ist.</p>
<p>@doppelt verkettete Liste:</p>
<p>Was die doppelt verkettete Liste angeht, einfach mal in Google eingeben.</p>
<p><a href="http://hal.iwr.uni-heidelberg.de/lehre/inf1-ws02/html/node126.html" rel="nofollow">http://hal.iwr.uni-heidelberg.de/lehre/inf1-ws02/html/node126.html</a><br />
War das erste Ergebnis.<br />
Gefällt res seuch nicht, einfach den nächsten Link anklicken.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1148780</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1148780</guid><dc:creator><![CDATA[Kahino]]></dc:creator><pubDate>Tue, 03 Oct 2006 16:59:13 GMT</pubDate></item></channel></rss>