<?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[Selection Sort]]></title><description><![CDATA[<p>Hallo,</p>
<p>wir sollten uns folgendes Selection Sort Programm ansehen</p>
<pre><code class="language-cpp">#include &lt;iostream&gt;
using namespace std;

void selectionSort(int *array,int length) 
{
	int i,j,min,minat;
	for(i=0;i&lt;(length-1);i++)
	{
		minat=i;
		min=array[i];

      for(j=i+1;j&lt;(length);j++) //select the min of the rest of array
	  {
		  if(min&gt;array[j])   //ascending order for descending reverse
		  {
			  minat=j;  //the position of the min element 
			  min=array[j];
		  }
	  }
	  int temp=array[i] ;
	  array[i]=array[minat];  //swap 
	  array[minat]=temp;

	}

}

void printElements(int *array,int length) //print array elements
{
	int i=0;
	for(i=0;i&lt;10;i++)
    cout&lt;&lt;array[i]&lt;&lt;endl;
}

void main()
{

	int a[]={9,6,5,23,2,6,2,7,1,8};   // array to sort 
    selectionSort(a,10);                 //call to selection sort  
	printElements(a,10);               // print elements
	system(&quot;PAUSE&quot;);
}
</code></pre>
<p>Leider ist mir nicht völlig klar, was die einzelnen Schritte tun. Könnt ihr mir<br />
mir das vielleicht erklären? <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="😞"
    /> <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>
]]></description><link>https://www.c-plusplus.net/forum/topic/169432/selection-sort</link><generator>RSS for Node</generator><lastBuildDate>Wed, 16 Sep 2026 17:04:31 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/169432.rss" rel="self" type="application/rss+xml"/><pubDate>Fri, 05 Jan 2007 10:09:09 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Selection Sort on Fri, 05 Jan 2007 10:09:09 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>wir sollten uns folgendes Selection Sort Programm ansehen</p>
<pre><code class="language-cpp">#include &lt;iostream&gt;
using namespace std;

void selectionSort(int *array,int length) 
{
	int i,j,min,minat;
	for(i=0;i&lt;(length-1);i++)
	{
		minat=i;
		min=array[i];

      for(j=i+1;j&lt;(length);j++) //select the min of the rest of array
	  {
		  if(min&gt;array[j])   //ascending order for descending reverse
		  {
			  minat=j;  //the position of the min element 
			  min=array[j];
		  }
	  }
	  int temp=array[i] ;
	  array[i]=array[minat];  //swap 
	  array[minat]=temp;

	}

}

void printElements(int *array,int length) //print array elements
{
	int i=0;
	for(i=0;i&lt;10;i++)
    cout&lt;&lt;array[i]&lt;&lt;endl;
}

void main()
{

	int a[]={9,6,5,23,2,6,2,7,1,8};   // array to sort 
    selectionSort(a,10);                 //call to selection sort  
	printElements(a,10);               // print elements
	system(&quot;PAUSE&quot;);
}
</code></pre>
<p>Leider ist mir nicht völlig klar, was die einzelnen Schritte tun. Könnt ihr mir<br />
mir das vielleicht erklären? <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="😞"
    /> <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>
]]></description><link>https://www.c-plusplus.net/forum/post/1203370</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1203370</guid><dc:creator><![CDATA[ThaRealMatix]]></dc:creator><pubDate>Fri, 05 Jan 2007 10:09:09 GMT</pubDate></item><item><title><![CDATA[Reply to Selection Sort on Fri, 05 Jan 2007 10:15:21 GMT]]></title><description><![CDATA[<p>Woran hapert es denn? Wenn du die einzelnen Befehle von C++ nicht verstehst, hilft ein Blick in deine Leerbücher sicher weiter. Ansonsten kannst du mal in der Wikipedia oder bei Goggle nach &quot;Selection Sort&quot; suchen.</p>
<p>in Kurzfassung:</p>
<ul>
<li>die äußerste Schleife der sort-Funktion geht der Reihe nach das gesamte Array durch</li>
<li>die innere Schleife sucht den größten Wert im hinteren Bereich des Arrays</li>
<li>die drei Anweisungen dahinter vertauschen diesen Wert mit dem ersten Element des &quot;hinteren Bereiches&quot;<br />
(und da beim nächsten Schleifendurchlauf dieser Block verkleinert wird, wird der vertauschte Wert in der nächsten Runde nicht mehr verglichen)</li>
</ul>
]]></description><link>https://www.c-plusplus.net/forum/post/1203374</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1203374</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Fri, 05 Jan 2007 10:15:21 GMT</pubDate></item><item><title><![CDATA[Reply to Selection Sort on Fri, 05 Jan 2007 10:21:42 GMT]]></title><description><![CDATA[<p>hm mir ist ehrlich gesagt wohl genau die äußere nicht ganz klar also</p>
<pre><code class="language-cpp">for(i=0;i&lt;(length-1);i++)
	{
		minat=i;
		min=array[i];
</code></pre>
<p>desweiteren:</p>
<pre><code class="language-cpp">for(j=i+1;j&lt;(length);j++)
</code></pre>
<p>Dies wird also nur ausgeführt, wenn j (welches i+1 ist) kleiner als die länge ist. Desweiteren wird er hochgezählt.</p>
<p>Heisst das nun, dass an dieser Stelle der array bzw block verkürzt wird, wie du sagst?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1203376</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1203376</guid><dc:creator><![CDATA[ThaRealMatix]]></dc:creator><pubDate>Fri, 05 Jan 2007 10:21:42 GMT</pubDate></item><item><title><![CDATA[Reply to Selection Sort on Fri, 05 Jan 2007 10:24:38 GMT]]></title><description><![CDATA[<p>1. Der Block initialisiert die aktuelle Position des größten Elements auf den Anfang des untersuchten Arraybereiches.</p>
<p>2. Schau dir mal an, was die einzelnen Anweisungen in der for() bewirken - i wird vom Startwert j+1 bis zum Endwert length hochgezählt.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1203379</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1203379</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Fri, 05 Jan 2007 10:24:38 GMT</pubDate></item><item><title><![CDATA[Reply to Selection Sort on Fri, 05 Jan 2007 11:15:46 GMT]]></title><description><![CDATA[<p>hm wenn ich das richtig sehe, wurde ja vor diesem hier:</p>
<pre><code class="language-cpp">for(j=i+1;j&lt;(length);j++) //sucht das minimum vom Rest des Arrays
	  {
		  if(min&gt;array[j])   //aufsteigende Reihenflge
		  {
			  minat=j;  //Position des minimums 
			  min=array[j];
		  }
	  }
	  int temp=array[i] ;
	  array[i]=array[minat];  //Austausch
	  array[minat]=temp;
</code></pre>
<p>schon einmal das minimum herausgesucht. Aber wo genau?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1203438</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1203438</guid><dc:creator><![CDATA[ThaRealMatix]]></dc:creator><pubDate>Fri, 05 Jan 2007 11:15:46 GMT</pubDate></item><item><title><![CDATA[Reply to Selection Sort on Fri, 05 Jan 2007 11:21:28 GMT]]></title><description><![CDATA[<p>In der gesamten Schleife <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="😉"
    /> (du gehst nacheinander alle Werte durch und merkst dir ihre Position, wenn sie kleiner sind als das bisherige Minimum - also hast du am Ende das Minimum des gesamten Blocks)</p>
<p>PS: Was genau lernst du eigentlich? Hier häufen sich ja deine Threads mit Grundlagen-Problemen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1203442</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1203442</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Fri, 05 Jan 2007 11:21:28 GMT</pubDate></item><item><title><![CDATA[Reply to Selection Sort on Fri, 05 Jan 2007 11:33:02 GMT]]></title><description><![CDATA[<p>Hm ich lerne C++, hinke aber hinterher, stimmt wohl. Da ich aber wenn ich überhaupt ne Chance haben will, das Praktikum abgeben muss, frage ich halt hier nach.</p>
<p>Wenn ich hier falsch bin sags, dann lass ichs <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/1203453</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1203453</guid><dc:creator><![CDATA[ThaRealMatix]]></dc:creator><pubDate>Fri, 05 Jan 2007 11:33:02 GMT</pubDate></item></channel></rss>