<?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[Sotieren, In Liste, Weitergehen]]></title><description><![CDATA[<p>Hallo</p>
<p>Ich mochte eine reihe von Zahlen sortieren( absteigend ) !<br />
das ganze soll so funktionieren</p>
<p>3856 den ersten mim 2ten wert vertauschen<br />
8356 dann den 2ten mim 3ten<br />
8536 4t2n mim ten<br />
8563 und dann wieder von vorne usw bis die zahlen absteigend sortiert sind!</p>
<p>Die zahlen sind als verkette Liste gespeichert!<br />
das ganze soll in einer schleife passieren !</p>
<pre><code class="language-cpp">if (StartElement-&gt;wert &lt;= StartElement-&gt;naechstesElement-&gt;wert)
	{
	  temp = StartElement-&gt;wert;
	  StartElement-&gt;wert = StartElement-&gt;naechstesElement-&gt;wert;
	  StartElement-&gt;naechstesElement-&gt;wert = temp;
         }
</code></pre>
<p>so werden die ersten beiden Werte vertauscht doch wie kann ich es machen das im nächsten durchlauf der 2te mim 3ten Wert vertauscht wird usw... ??<br />
hab schon mit StartElement++ probiert funtzt nicht!<br />
Hab keine ahnung wie ich das machn soll!<br />
Hoffe ihr könnt mir helfen !</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/147402/sotieren-in-liste-weitergehen</link><generator>RSS for Node</generator><lastBuildDate>Fri, 04 Sep 2026 05:39:34 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/147402.rss" rel="self" type="application/rss+xml"/><pubDate>Tue, 16 May 2006 13:48:41 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Sotieren, In Liste, Weitergehen on Tue, 16 May 2006 13:48:41 GMT]]></title><description><![CDATA[<p>Hallo</p>
<p>Ich mochte eine reihe von Zahlen sortieren( absteigend ) !<br />
das ganze soll so funktionieren</p>
<p>3856 den ersten mim 2ten wert vertauschen<br />
8356 dann den 2ten mim 3ten<br />
8536 4t2n mim ten<br />
8563 und dann wieder von vorne usw bis die zahlen absteigend sortiert sind!</p>
<p>Die zahlen sind als verkette Liste gespeichert!<br />
das ganze soll in einer schleife passieren !</p>
<pre><code class="language-cpp">if (StartElement-&gt;wert &lt;= StartElement-&gt;naechstesElement-&gt;wert)
	{
	  temp = StartElement-&gt;wert;
	  StartElement-&gt;wert = StartElement-&gt;naechstesElement-&gt;wert;
	  StartElement-&gt;naechstesElement-&gt;wert = temp;
         }
</code></pre>
<p>so werden die ersten beiden Werte vertauscht doch wie kann ich es machen das im nächsten durchlauf der 2te mim 3ten Wert vertauscht wird usw... ??<br />
hab schon mit StartElement++ probiert funtzt nicht!<br />
Hab keine ahnung wie ich das machn soll!<br />
Hoffe ihr könnt mir helfen !</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1058912</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1058912</guid><dc:creator><![CDATA[Armer Student]]></dc:creator><pubDate>Tue, 16 May 2006 13:48:41 GMT</pubDate></item><item><title><![CDATA[Reply to Sotieren, In Liste, Weitergehen on Tue, 16 May 2006 13:52:44 GMT]]></title><description><![CDATA[<p>Du brauchst einen &quot;Zeiger&quot; mit dem du durch die Liste läufst. Wenn du expliziet StartElement abfragst, ist klar dass du immer nur die ersten beiden Werte tauschst.</p>
<p>Also einen Index-Zeiger auf das erste Element anlegen. Wert vom Index-Zeiger mit Wert vom Index-Zeiger-Nachfolger vergleichen und eventuell tauschen.<br />
Dann den Zeiger aufs nächste Element setzen und wieder Wert vom Index-Zeiger mit Wert vom Index-Zeiger-Nachfolger vergleichen und eventuell tauschen.</p>
<p>Solange, bis du am Ende der Liste bist.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1058918</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1058918</guid><dc:creator><![CDATA[DarthZiu]]></dc:creator><pubDate>Tue, 16 May 2006 13:52:44 GMT</pubDate></item><item><title><![CDATA[Reply to Sotieren, In Liste, Weitergehen on Tue, 16 May 2006 13:54:29 GMT]]></title><description><![CDATA[<p>Ich würde vermuten man muss StartElement auf das nächste Element zeigen lassen, aber da wir nicht wissen was StartElement überhaupt ist, wird das wohl auf ewig im Dunkeln bleiben. (Es seidenn der OP liefert die nötigen Infos mal nach)</p>
<p>EDIT:<br />
Okay, wir wissen doch mehr (aber immernoch nicht genug <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>Beispiel:</p>
<pre><code class="language-cpp">StartElement = StartElement-&gt;naechstesElement;
</code></pre>
<p>Allerdings besser nicht in StartElement direkt, sondern in einer temporären Zeigervariablen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1058920</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1058920</guid><dc:creator><![CDATA[LordJaxom]]></dc:creator><pubDate>Tue, 16 May 2006 13:54:29 GMT</pubDate></item><item><title><![CDATA[Reply to Sotieren, In Liste, Weitergehen on Tue, 16 May 2006 14:04:30 GMT]]></title><description><![CDATA[<p>Hier erstmal der Ganze Code !</p>
<pre><code class="language-cpp">#include &lt;iostream&gt;
using namespace std;

struct ListenElement
{
		int wert;										
		ListenElement * naechstesElement;				
};

void sortiere (int zaehler, ListenElement * StartElement, bool sortier_richtung) ;

void main()
{
	int Eingabe, counter = 0;

	ListenElement *akt_wert=NULL, *erster_wert=NULL, *n=NULL;							

	while(Eingabe!=0)
	{
		cout&lt;&lt;&quot;Bitte wert eingeben:  &quot;;
		cin&gt;&gt; Eingabe;

	    if(Eingabe!=0)
		{
			counter++;
			n = new ListenElement;                   
			n-&gt;wert = Eingabe;							
			n-&gt;naechstesElement = 0;					 

			if(erster_wert==NULL)
			{
				erster_wert=n;
	            akt_wert=erster_wert;		
			}
			else
			{
				akt_wert-&gt;naechstesElement=n;
			    akt_wert=akt_wert-&gt;naechstesElement;
			}
			cout &lt;&lt; &quot;akt wert ist: &quot; &lt;&lt; akt_wert &lt;&lt; endl;

		}
	}

	akt_wert=erster_wert;

	cout&lt;&lt;&quot;Eingegebene Liste&quot; &lt;&lt;endl;					

	sortiere(counter,erster_wert,1);

	while(akt_wert!=NULL)				
	{

		cout&lt;&lt;akt_wert-&gt;wert&lt;&lt;endl;						 

		akt_wert = akt_wert-&gt;naechstesElement;			

	}

}

void sortiere(int zaehler, ListenElement * StartElement, bool sortier_richtung)     
{
	int temp=0;

	if (sortier_richtung)
	{
		for (int i=1;i&lt;=zaehler;i++)     
		{

			if (StartElement-&gt;wert &lt;= StartElement-&gt;naechstesElement-&gt;wert)
			{
				temp = StartElement-&gt;wert;
				StartElement-&gt;wert = StartElement-&gt;naechstesElement-&gt;wert;
				StartElement-&gt;naechstesElement-&gt;wert = temp;

			}

		}
	}

	if (zaehler&gt;1) sortiere(zaehler-1, StartElement, sortier_richtung);
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1058935</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1058935</guid><dc:creator><![CDATA[Armer Student]]></dc:creator><pubDate>Tue, 16 May 2006 14:04:30 GMT</pubDate></item><item><title><![CDATA[Reply to Sotieren, In Liste, Weitergehen on Tue, 16 May 2006 14:18:53 GMT]]></title><description><![CDATA[<p>Armer Student schrieb:</p>
<blockquote>
<pre><code class="language-cpp">if (StartElement-&gt;wert &lt;= StartElement-&gt;naechstesElement-&gt;wert)
			{
				temp = StartElement-&gt;wert;
				StartElement-&gt;wert = StartElement-&gt;naechstesElement-&gt;wert;
				StartElement-&gt;naechstesElement-&gt;wert = temp;
								
			}
</code></pre>
</blockquote>
<p>Wie ich bereits sagte, fragst du immer nur das erste und zweite Element ab, auch wenn deine Liste 4711 Einträge hätte. Also bau nen Zeiger ein, mit dem du über die Liste läufst.<br />
Das hattet ihr sicher in der Vorlesung (bei uns hieß der Zeiger immer current <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>/edit:</p>
<p>Armer Student schrieb:</p>
<blockquote>
<p>hab schon mit StartElement++ probiert funtzt nicht!</p>
</blockquote>
<p>Kann es sein, dass du nicht den Hauch einer Ahnung hast, was eine linear verkettete Liste ist??<br />
Guckst du hier: <a href="http://de.wikipedia.org/wiki/Liste_%28Datenstruktur%29" rel="nofollow">http://de.wikipedia.org/wiki/Liste_%28Datenstruktur%29</a></p>
<p>Sonst brauchst du es IMHO gar nicht weiter zu versuchen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1058942</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1058942</guid><dc:creator><![CDATA[DarthZiu]]></dc:creator><pubDate>Tue, 16 May 2006 14:18:53 GMT</pubDate></item><item><title><![CDATA[Reply to Sotieren, In Liste, Weitergehen on Tue, 16 May 2006 14:18:51 GMT]]></title><description><![CDATA[<p>Danke schonmal</p>
<p>@ DarthZiu</p>
<p>Sorry hab keine Ahnung was du meinst ham sowas in der Art noch nicht gemacht !<br />
wie soll ich die Liste</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1058945</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1058945</guid><dc:creator><![CDATA[Armer Student]]></dc:creator><pubDate>Tue, 16 May 2006 14:18:51 GMT</pubDate></item><item><title><![CDATA[Reply to Sotieren, In Liste, Weitergehen on Tue, 16 May 2006 14:43:14 GMT]]></title><description><![CDATA[<p>???</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1058962</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1058962</guid><dc:creator><![CDATA[DarthZiu]]></dc:creator><pubDate>Tue, 16 May 2006 14:43:14 GMT</pubDate></item></channel></rss>