<?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[InsertSort]]></title><description><![CDATA[<p>Hallo zusammen,<br />
ich habe folgenden Code, der auch funktioniert. Der Einfachhalt halber istt &quot;arr&quot; ein globales Array mit fünft Elementen. Es geht darum, diese zu sortieren, aber ich verstehe nicht so ganz, warum der Code funzt:</p>
<pre><code class="language-cpp">void insertionSort(void)
{
  int temp=0,j=0;

  for (int i = 0; i &lt; 5; ++i)
  {
    temp = arr[i]; // arr[5]={5,4,3,2,1};
    for (j = i; j &gt; 0 &amp;&amp; arr[j - 1] &gt; temp; --j) //arr[j-1] = -1 
    {
      arr[j] = arr[j - 1];
    }
    arr[j] = temp;
  }
}
</code></pre>
<p>Ein Element -1 gibt es doch gar nicht? Wenn ich bei der äußeren Schleife i mit 1 starte, funktioniert die Funktion auch.</p>
<p>Wo liegt mein Denkfehler?</p>
<p>Vielen Dank für eure Hilfe!<br />
lg, freakC++</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/254962/insertsort</link><generator>RSS for Node</generator><lastBuildDate>Sat, 12 Sep 2026 07:57:55 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/254962.rss" rel="self" type="application/rss+xml"/><pubDate>Mon, 23 Nov 2009 19:48:55 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to InsertSort on Mon, 23 Nov 2009 19:48:55 GMT]]></title><description><![CDATA[<p>Hallo zusammen,<br />
ich habe folgenden Code, der auch funktioniert. Der Einfachhalt halber istt &quot;arr&quot; ein globales Array mit fünft Elementen. Es geht darum, diese zu sortieren, aber ich verstehe nicht so ganz, warum der Code funzt:</p>
<pre><code class="language-cpp">void insertionSort(void)
{
  int temp=0,j=0;

  for (int i = 0; i &lt; 5; ++i)
  {
    temp = arr[i]; // arr[5]={5,4,3,2,1};
    for (j = i; j &gt; 0 &amp;&amp; arr[j - 1] &gt; temp; --j) //arr[j-1] = -1 
    {
      arr[j] = arr[j - 1];
    }
    arr[j] = temp;
  }
}
</code></pre>
<p>Ein Element -1 gibt es doch gar nicht? Wenn ich bei der äußeren Schleife i mit 1 starte, funktioniert die Funktion auch.</p>
<p>Wo liegt mein Denkfehler?</p>
<p>Vielen Dank für eure Hilfe!<br />
lg, freakC++</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1812587</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1812587</guid><dc:creator><![CDATA[freakC++]]></dc:creator><pubDate>Mon, 23 Nov 2009 19:48:55 GMT</pubDate></item><item><title><![CDATA[Reply to InsertSort on Mon, 23 Nov 2009 19:52:13 GMT]]></title><description><![CDATA[<p>bei<br />
j &gt; 0 &amp;&amp; arr[j - 1]<br />
wird<br />
arr[j - 1]<br />
nur angefaßt, wenn j&gt;0</p>
<p><a href="http://de.wikipedia.org/wiki/Kurzschlussauswertung" rel="nofollow">http://de.wikipedia.org/wiki/Kurzschlussauswertung</a></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1812590</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1812590</guid><dc:creator><![CDATA[volkard]]></dc:creator><pubDate>Mon, 23 Nov 2009 19:52:13 GMT</pubDate></item><item><title><![CDATA[Reply to InsertSort on Tue, 24 Nov 2009 07:30:29 GMT]]></title><description><![CDATA[<p>Hallo,<br />
ahh...wie konnte ich das übersehen *schäm*. Danke trotzdem. Dennoch habe ich ein anderes Problem. Damit ich den Algorithmus besser verstehe, habe ich mir mal systematisch die Schritte aufgeschrieben, doch an einer Stelle hänge ich. Also, ich habe das folgende Array, das zu sortieren ist:</p>
<pre><code class="language-cpp">int arr[5]={5,4,3,2,1}; //global nur aus Einfachkeit)
void insertionSort(void) //keine Parameter --&gt; ich weiß ;)
{
  int temp=0,j=0;

  for (int i = 0; i &lt; 5; ++i)
  {
    temp = arr[i]; // arr[5]={5,4,3,2,1};
    for (j = i; j &gt; 0 &amp;&amp; arr[j - 1] &gt; temp; --j)
    {
      arr[j] = arr[j - 1];
    }
	if (i==2) cout &lt;&lt;arr[1] &lt;&lt; endl;arr[j] = temp;
  }
}
</code></pre>
<p>Folgende Schritte habe ich mir dazu aufgeschrieben:</p>
<p>i=0:<br />
temp=5;<br />
keine Schleife<br />
arr[0]=5 //keine Veränderung</p>
<p>i=1<br />
temp=4<br />
Schleifenbedingung erfüllt(5&gt;4)<br />
arr[1]=5 //arr[1]=arr[0]<br />
arr[0]=4</p>
<p>i=2<br />
temp=3<br />
Schleifenbedingung erfüllt(5&gt;3)<br />
arr[2]=5 //arr[2]=arr[1]<br />
arr[0]=temp //und was passiert mit der 4</p>
<p>Zwischenstand:<br />
arr[3,</p>
<p>Ich wollte nun den Zwischenstand aufschreiben,also wie das Array jetzt aussieht, doch sieht es für mich aus, als ob die 4 (arr[0] aus i==2) einfach überschrieben wird. Tatsächlich wird sie aber in arr[1] geschrieben. Warum?? Wo steht dieser Schritt?</p>
<p>Könnt ihr mir helfen?</p>
<p>Vielen Dank<br />
lg, freakC++</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1812719</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1812719</guid><dc:creator><![CDATA[freakC++]]></dc:creator><pubDate>Tue, 24 Nov 2009 07:30:29 GMT</pubDate></item><item><title><![CDATA[Reply to InsertSort on Tue, 24 Nov 2009 10:21:29 GMT]]></title><description><![CDATA[<p>freakC++ schrieb:</p>
<blockquote>
<p>i=2<br />
temp=3<br />
Schleifenbedingung erfüllt(5&gt;3)<br />
arr[2]=5 //arr[2]=arr[1]<br />
arr[0]=temp //und was passiert mit der 4</p>
<p>Zwischenstand:<br />
arr[3,</p>
<p>Ich wollte nun den Zwischenstand aufschreiben,also wie das Array jetzt aussieht, doch sieht es für mich aus, als ob die 4 (arr[0] aus i==2) einfach überschrieben wird. Tatsächlich wird sie aber in arr[1] geschrieben. Warum?? Wo steht dieser Schritt?</p>
<p>Könnt ihr mir helfen?</p>
<p>Vielen Dank<br />
lg, freakC++</p>
</blockquote>
<p>Du hast den zweiten Durchlauf der Schleife vergessen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1812791</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1812791</guid><dc:creator><![CDATA[SeppJ]]></dc:creator><pubDate>Tue, 24 Nov 2009 10:21:29 GMT</pubDate></item><item><title><![CDATA[Reply to InsertSort on Tue, 24 Nov 2009 14:15:06 GMT]]></title><description><![CDATA[<p>Ahhh <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f60b.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_savoring_food"
      title=":yum:"
      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="😉"
    /><br />
Danke!</p>
<p>lg, freakC++</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1812902</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1812902</guid><dc:creator><![CDATA[freakC++]]></dc:creator><pubDate>Tue, 24 Nov 2009 14:15:06 GMT</pubDate></item></channel></rss>