<?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>Liebe Leute!<br />
meine frage wäre zu diesem quicksortalgorithmus!</p>
<p>hab werte in einer hashingtabelle gespeichert bzw eingefügt und will jz diese tabelle sortieren via quicksort.</p>
<p>es funktioniert nur nicht so wie ich gerne hätte!</p>
<p>meine frage: ich glaube mein fehler liegt darin das ich ein neues array erzeuge mit den werten der alten tabelle, da ich ja wirklich nur eine tabelle haben will wo was drinnen ist, weil eine leere stelle kann ich ja nicht sortieren!</p>
<p>habt ihr vlt ein paar lösungsvorschläge um diesen algorithmus zum laufen zu bringen!</p>
<p>wäre echts ehr dankbar! <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>lg</p>
<pre><code class="language-cpp">void sort (const E e[],size_t left, size_t right){

    size_t l=left;
    size_t r=right;

     E* quickvalues = new E[nmax];

      for(size_t i=1;i&lt;nmax;i++)

                 if(values[i] == filled)

                 quickvalues[i] = values[i];

      size_t t;
      size_t pivot = quickvalues[(l + r) / 2];

      while (l&lt;= r) {

            while (quickvalues[l] &lt; pivot)

                  l++;

            while (quickvalues[r] &gt; pivot)

                  r--;

            if (l &lt;= r) {

                  t = quickvalues[l];

                  quickvalues[l] = quickvalues[r];

                  quickvalues[r] = t;

                  l++;

                  r--;

            }

      };

      if (left &lt; r)

            sort(quickvalues, left, r);

      if (l &lt; right)

            sort(quickvalues, l, right);

}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/topic/304181/quicksort</link><generator>RSS for Node</generator><lastBuildDate>Mon, 10 Aug 2026 00:49:57 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/304181.rss" rel="self" type="application/rss+xml"/><pubDate>Thu, 31 May 2012 12:20:43 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Quicksort on Thu, 31 May 2012 12:20:43 GMT]]></title><description><![CDATA[<p>Liebe Leute!<br />
meine frage wäre zu diesem quicksortalgorithmus!</p>
<p>hab werte in einer hashingtabelle gespeichert bzw eingefügt und will jz diese tabelle sortieren via quicksort.</p>
<p>es funktioniert nur nicht so wie ich gerne hätte!</p>
<p>meine frage: ich glaube mein fehler liegt darin das ich ein neues array erzeuge mit den werten der alten tabelle, da ich ja wirklich nur eine tabelle haben will wo was drinnen ist, weil eine leere stelle kann ich ja nicht sortieren!</p>
<p>habt ihr vlt ein paar lösungsvorschläge um diesen algorithmus zum laufen zu bringen!</p>
<p>wäre echts ehr dankbar! <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>lg</p>
<pre><code class="language-cpp">void sort (const E e[],size_t left, size_t right){

    size_t l=left;
    size_t r=right;

     E* quickvalues = new E[nmax];

      for(size_t i=1;i&lt;nmax;i++)

                 if(values[i] == filled)

                 quickvalues[i] = values[i];

      size_t t;
      size_t pivot = quickvalues[(l + r) / 2];

      while (l&lt;= r) {

            while (quickvalues[l] &lt; pivot)

                  l++;

            while (quickvalues[r] &gt; pivot)

                  r--;

            if (l &lt;= r) {

                  t = quickvalues[l];

                  quickvalues[l] = quickvalues[r];

                  quickvalues[r] = t;

                  l++;

                  r--;

            }

      };

      if (left &lt; r)

            sort(quickvalues, left, r);

      if (l &lt; right)

            sort(quickvalues, l, right);

}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/2217714</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2217714</guid><dc:creator><![CDATA[pepschi]]></dc:creator><pubDate>Thu, 31 May 2012 12:20:43 GMT</pubDate></item><item><title><![CDATA[Reply to Quicksort on Thu, 31 May 2012 12:27:06 GMT]]></title><description><![CDATA[<p>Warum willst du mit rohen Arrays arbeiten?<br />
nimm std::vector dann must du nicht mit new arbeiten.</p>
<p>Aber zu deinem code: wo hast du nmax definiert?<br />
Du übergibst der Funktion ein Array const E e[] und verwendest es nicht? <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/2217717</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2217717</guid><dc:creator><![CDATA[Happenpappel]]></dc:creator><pubDate>Thu, 31 May 2012 12:27:06 GMT</pubDate></item><item><title><![CDATA[Reply to Quicksort on Thu, 31 May 2012 12:32:17 GMT]]></title><description><![CDATA[<p>Happenpappel schrieb:</p>
<blockquote>
<p>Warum willst du mit rohen Arrays arbeiten?<br />
nimm std::vector dann must du nicht mit new arbeiten.</p>
<p>Aber zu deinem code: wo hast du nmax definiert?<br />
Du übergibst der Funktion ein Array const E e[] und verwendest es nicht? <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>
</blockquote>
<p>ok, kenn das std::vector nicht. muss mir das anschauen wie das funktioniert.</p>
<p>nmax hab ich in meiner class double hashing definiert</p>
<pre><code class="language-cpp">class DoubleHashing : public Container&lt;E&gt; {

 size_t n;
 size_t nmax;
 size_t pos;

 E* values;
 Status* status;
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/2217727</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2217727</guid><dc:creator><![CDATA[pepschi]]></dc:creator><pubDate>Thu, 31 May 2012 12:32:17 GMT</pubDate></item><item><title><![CDATA[Reply to Quicksort on Thu, 31 May 2012 13:25:17 GMT]]></title><description><![CDATA[<p>pepschi schrieb:</p>
<blockquote>
<p>ok, kenn das std::vector nicht. muss mir das anschauen wie das funktioniert.</p>
</blockquote>
<p>Ja, dringend! Die Standardbibliothek gehört zum A und O.</p>
<p>Davon abgesehen wäre es gut, wenn du dir die mit <strong>wichtig</strong> gekennzeichneten Threads durchliest. Spart uns eine Menge klärender Fragen und dir eine Menge nachgeschobener Infos (wie die zum nmax).</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2217758</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2217758</guid><dc:creator><![CDATA[pumuckl]]></dc:creator><pubDate>Thu, 31 May 2012 13:25:17 GMT</pubDate></item></channel></rss>