<?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[Quicksort]]></title><description><![CDATA[<p>Hallo Leute,</p>
<p>ich habe den folgenden Quellcode für Quicksort erstellt, aber die Sortierung erfolgt falsch...ich weiß einfach nicht weiter...Hat jemand von euch ein Vorschlag oder Anmerkung was ich falsch mache... freue mich über jede Hilfe.</p>
<p>Danke im Voraus!!! <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f642.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--slightly_smiling_face"
      title=":)"
      alt="🙂"
    /> <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f642.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--slightly_smiling_face"
      title=":)"
      alt="🙂"
    /></p>
<p>#include&lt;iostream&gt;<br />
#include&lt;fstream&gt;<br />
#include &quot;quicksort.h&quot;<br />
#include&lt;time.h&gt;<br />
#include&lt;ctime&gt;</p>
<p>using namespace std;</p>
<p>void quicksort(int a[], int links, int rechts);<br />
int partition(int a[], int links, int rechts);</p>
<p>//---------------------------------------------<br />
void quicksort(int a[], int links, int rechts){<br />
//int pivot = a[rechts];<br />
if (links &lt; rechts){<br />
int s = partition(a, links, rechts);<br />
quicksort(a, links, s-1);<br />
quicksort(a, s+1, rechts);</p>
<p>}<br />
}</p>
<p>//---------------------------------------------<br />
int partition(int a[], int links, int rechts){<br />
cout&lt;&lt;&quot;in partition\n&quot;;<br />
int pivot = a[rechts];<br />
int i = links - 1;<br />
int help;<br />
// int li, re;<br />
//li = links;<br />
// re = rechts;<br />
//pivot = a[re];<br />
/* do{<br />
while(a[l]&lt;pivot) i++;<br />
}while(li&lt;=re);*/</p>
<p>for(int j=links; j&lt;=(rechts-1); j++) {</p>
<p>if( a[j] &lt;= pivot ) {<br />
cout&lt;&lt;&quot;\nwenn j kleiner pivot ist ...\n&quot;;<br />
i = i+1;<br />
help = a[i];<br />
a[i] = a[j];<br />
a[j] = help;<br />
cout&lt;&lt;&quot;\nHier kommt: &quot;&lt;&lt; i &lt;&lt;endl;<br />
cout&lt;&lt;&quot;Hier kommt: &quot;&lt;&lt; j &lt;&lt;endl;<br />
}</p>
<p>}<br />
help = a[i+1];<br />
cout &lt;&lt; i&lt;&lt;endl;<br />
a[i+1] = a[pivot];<br />
a[pivot] = help;<br />
cout &lt;&lt;&quot;\nAusgabe von i: &quot;&lt;&lt; i&lt;&lt;endl;<br />
cout &lt;&lt;&quot;Ausgabe von pivot: &quot;&lt;&lt; pivot&lt;&lt;endl;</p>
<p>return i+1;</p>
<p>}</p>
<p>//////////////////////////////////////////////////<br />
////////// MAIN //////////////////////////////////<br />
//////////////////////////////////////////////////</p>
<p>int main(int argc, char *argv[]){</p>
<p>//int a[]={2,3,1,0};</p>
<p>int a[]={7,8,2,4};</p>
<p>int count = sizeof(a)/sizeof(*a);</p>
<p>quicksort(a, 0, count-1);<br />
cout&lt;&lt; &quot;\n\nmain Aufrug..quicksort&quot; &lt;&lt;endl;</p>
<p>for(int i = 0; i&lt;count;i++)<br />
cout&lt;&lt;a[i]&lt;&lt;endl;</p>
<p>return 0;<br />
}</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/295623/quicksort</link><generator>RSS for Node</generator><lastBuildDate>Sat, 15 Aug 2026 09:01:36 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/295623.rss" rel="self" type="application/rss+xml"/><pubDate>Thu, 17 Nov 2011 22:58:00 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Quicksort on Thu, 17 Nov 2011 22:58:00 GMT]]></title><description><![CDATA[<p>Hallo Leute,</p>
<p>ich habe den folgenden Quellcode für Quicksort erstellt, aber die Sortierung erfolgt falsch...ich weiß einfach nicht weiter...Hat jemand von euch ein Vorschlag oder Anmerkung was ich falsch mache... freue mich über jede Hilfe.</p>
<p>Danke im Voraus!!! <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f642.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--slightly_smiling_face"
      title=":)"
      alt="🙂"
    /> <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f642.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--slightly_smiling_face"
      title=":)"
      alt="🙂"
    /></p>
<p>#include&lt;iostream&gt;<br />
#include&lt;fstream&gt;<br />
#include &quot;quicksort.h&quot;<br />
#include&lt;time.h&gt;<br />
#include&lt;ctime&gt;</p>
<p>using namespace std;</p>
<p>void quicksort(int a[], int links, int rechts);<br />
int partition(int a[], int links, int rechts);</p>
<p>//---------------------------------------------<br />
void quicksort(int a[], int links, int rechts){<br />
//int pivot = a[rechts];<br />
if (links &lt; rechts){<br />
int s = partition(a, links, rechts);<br />
quicksort(a, links, s-1);<br />
quicksort(a, s+1, rechts);</p>
<p>}<br />
}</p>
<p>//---------------------------------------------<br />
int partition(int a[], int links, int rechts){<br />
cout&lt;&lt;&quot;in partition\n&quot;;<br />
int pivot = a[rechts];<br />
int i = links - 1;<br />
int help;<br />
// int li, re;<br />
//li = links;<br />
// re = rechts;<br />
//pivot = a[re];<br />
/* do{<br />
while(a[l]&lt;pivot) i++;<br />
}while(li&lt;=re);*/</p>
<p>for(int j=links; j&lt;=(rechts-1); j++) {</p>
<p>if( a[j] &lt;= pivot ) {<br />
cout&lt;&lt;&quot;\nwenn j kleiner pivot ist ...\n&quot;;<br />
i = i+1;<br />
help = a[i];<br />
a[i] = a[j];<br />
a[j] = help;<br />
cout&lt;&lt;&quot;\nHier kommt: &quot;&lt;&lt; i &lt;&lt;endl;<br />
cout&lt;&lt;&quot;Hier kommt: &quot;&lt;&lt; j &lt;&lt;endl;<br />
}</p>
<p>}<br />
help = a[i+1];<br />
cout &lt;&lt; i&lt;&lt;endl;<br />
a[i+1] = a[pivot];<br />
a[pivot] = help;<br />
cout &lt;&lt;&quot;\nAusgabe von i: &quot;&lt;&lt; i&lt;&lt;endl;<br />
cout &lt;&lt;&quot;Ausgabe von pivot: &quot;&lt;&lt; pivot&lt;&lt;endl;</p>
<p>return i+1;</p>
<p>}</p>
<p>//////////////////////////////////////////////////<br />
////////// MAIN //////////////////////////////////<br />
//////////////////////////////////////////////////</p>
<p>int main(int argc, char *argv[]){</p>
<p>//int a[]={2,3,1,0};</p>
<p>int a[]={7,8,2,4};</p>
<p>int count = sizeof(a)/sizeof(*a);</p>
<p>quicksort(a, 0, count-1);<br />
cout&lt;&lt; &quot;\n\nmain Aufrug..quicksort&quot; &lt;&lt;endl;</p>
<p>for(int i = 0; i&lt;count;i++)<br />
cout&lt;&lt;a[i]&lt;&lt;endl;</p>
<p>return 0;<br />
}</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2145817</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2145817</guid><dc:creator><![CDATA[julchatt]]></dc:creator><pubDate>Thu, 17 Nov 2011 22:58:00 GMT</pubDate></item><item><title><![CDATA[Reply to Quicksort on Fri, 18 Nov 2011 00:26:33 GMT]]></title><description><![CDATA[<p>Nun, da hast du wohl an einer Stelle einen Zugriff außerhalb deines Arrays. Geh doch mal mit einem Debugger Schritt für Schritt durch und guck, wo der falsche Zugriff stattfindet. Sind ja nicht zu viele Schritte, das ist noch machbar.</p>
<p>Hättest du gleiche einen vector genommen statt einem Array, könntest du nun einfach dessen Debugfunktionen aktivieren und würdest sofort das Problem finden. Aber da du anscheinend Masochist bist und rohe Arrays magst, dürftest du dich über die Debugsitzung sicherlich freuen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2145831</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2145831</guid><dc:creator><![CDATA[SeppJ]]></dc:creator><pubDate>Fri, 18 Nov 2011 00:26:33 GMT</pubDate></item><item><title><![CDATA[Reply to Quicksort on Fri, 18 Nov 2011 19:47:08 GMT]]></title><description><![CDATA[<p>Spontan würde ich tippen, der Fehler kommt hierher</p>
<pre><code class="language-cpp">quicksort(a, links, s-1);
quicksort(a, s+1, rechts);
</code></pre>
<p>Denn was ist los mit Element s ?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2146149</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2146149</guid><dc:creator><![CDATA[nurf]]></dc:creator><pubDate>Fri, 18 Nov 2011 19:47:08 GMT</pubDate></item></channel></rss>