<?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[Probleme bei Hashtabelle mit Separate Chaining und Quicksort]]></title><description><![CDATA[<p>Hey Leute,</p>
<p>Ich studiere Informatik an der Uni Wien und mache gerade eine Übung bei der ich C++ programmieren muss.</p>
<p>Auf meinem Rechner funktioniert alles einwandfrei, nur müssen wir das Programm dann bei dem sog. Unit-Test hochladen und der spuckt mir in meiner &quot;apply-Methode&quot; immer ein einen Segmentation Fault aus.</p>
<p>Die Apply und Sort Methode sieht folgendermaßen aus:</p>
<p>template &lt;typename E, size_t N&gt;<br />
size_t Chaining&lt;E,N&gt;::apply(std::function&lt;void(const E&amp;) &gt; f, Order order) const {</p>
<p>size_t rc = 0;</p>
<p>if (order == dontcare) {<br />
try {<br />
for (size_t i = 0; i &lt; tablesize; ++i) {<br />
node * help = values[i];<br />
while (help != nullptr) {<br />
f(help-&gt;data);<br />
++rc;<br />
help = help-&gt;next;<br />
}<br />
}<br />
} catch (...) {}<br />
} else {</p>
<p>E * sortvalues = new E[n];</p>
<p>size_t x = 0;<br />
for (size_t i = 0 ; i &lt; tablesize ; ++i) {<br />
node * help = values[i];</p>
<p>while (help != nullptr) {<br />
sortvalues[x++] = help-&gt;data;<br />
help = help-&gt;next;<br />
}<br />
}</p>
<p>sort(sortvalues, 0, n-1);</p>
<p>try {<br />
if (order == descending) {<br />
for (size_t i = n; i-- <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 />
f(sortvalues[i]);<br />
++rc;<br />
}<br />
} else {<br />
for (size_t i = 0; i &lt; n; ++i) {<br />
f(sortvalues[i]);<br />
++rc;<br />
}<br />
}<br />
} catch (...) {}</p>
<p>delete[] sortvalues;<br />
}<br />
return rc;<br />
}</p>
<p>template &lt;typename E, size_t N&gt;<br />
void Chaining&lt;E,N&gt;::sort(E* sortvalues, size_t l, size_t r) const {</p>
<p>if (n &gt; r) {</p>
<p>size_t i, j;<br />
E pivot;</p>
<p>if (r &gt; l) {<br />
pivot = sortvalues[r];<br />
i = l-1;<br />
j = r;</p>
<p>for (;;) {<br />
while (pivot &gt; sortvalues[++i]);<br />
while (sortvalues[--j] &gt; pivot) if (j == l) break;<br />
if (i &gt;= j) break;<br />
std::swap (sortvalues[i], sortvalues[j]);<br />
}<br />
std::swap(sortvalues[i], sortvalues[r]);<br />
sort(sortvalues, l, i-1);<br />
sort(sortvalues, i+1, r);<br />
}<br />
}<br />
}</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/338374/probleme-bei-hashtabelle-mit-separate-chaining-und-quicksort</link><generator>RSS for Node</generator><lastBuildDate>Mon, 13 Apr 2026 16:37:11 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/338374.rss" rel="self" type="application/rss+xml"/><pubDate>Sat, 11 Jun 2016 08:57:04 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Probleme bei Hashtabelle mit Separate Chaining und Quicksort on Sat, 11 Jun 2016 08:57:04 GMT]]></title><description><![CDATA[<p>Hey Leute,</p>
<p>Ich studiere Informatik an der Uni Wien und mache gerade eine Übung bei der ich C++ programmieren muss.</p>
<p>Auf meinem Rechner funktioniert alles einwandfrei, nur müssen wir das Programm dann bei dem sog. Unit-Test hochladen und der spuckt mir in meiner &quot;apply-Methode&quot; immer ein einen Segmentation Fault aus.</p>
<p>Die Apply und Sort Methode sieht folgendermaßen aus:</p>
<p>template &lt;typename E, size_t N&gt;<br />
size_t Chaining&lt;E,N&gt;::apply(std::function&lt;void(const E&amp;) &gt; f, Order order) const {</p>
<p>size_t rc = 0;</p>
<p>if (order == dontcare) {<br />
try {<br />
for (size_t i = 0; i &lt; tablesize; ++i) {<br />
node * help = values[i];<br />
while (help != nullptr) {<br />
f(help-&gt;data);<br />
++rc;<br />
help = help-&gt;next;<br />
}<br />
}<br />
} catch (...) {}<br />
} else {</p>
<p>E * sortvalues = new E[n];</p>
<p>size_t x = 0;<br />
for (size_t i = 0 ; i &lt; tablesize ; ++i) {<br />
node * help = values[i];</p>
<p>while (help != nullptr) {<br />
sortvalues[x++] = help-&gt;data;<br />
help = help-&gt;next;<br />
}<br />
}</p>
<p>sort(sortvalues, 0, n-1);</p>
<p>try {<br />
if (order == descending) {<br />
for (size_t i = n; i-- <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 />
f(sortvalues[i]);<br />
++rc;<br />
}<br />
} else {<br />
for (size_t i = 0; i &lt; n; ++i) {<br />
f(sortvalues[i]);<br />
++rc;<br />
}<br />
}<br />
} catch (...) {}</p>
<p>delete[] sortvalues;<br />
}<br />
return rc;<br />
}</p>
<p>template &lt;typename E, size_t N&gt;<br />
void Chaining&lt;E,N&gt;::sort(E* sortvalues, size_t l, size_t r) const {</p>
<p>if (n &gt; r) {</p>
<p>size_t i, j;<br />
E pivot;</p>
<p>if (r &gt; l) {<br />
pivot = sortvalues[r];<br />
i = l-1;<br />
j = r;</p>
<p>for (;;) {<br />
while (pivot &gt; sortvalues[++i]);<br />
while (sortvalues[--j] &gt; pivot) if (j == l) break;<br />
if (i &gt;= j) break;<br />
std::swap (sortvalues[i], sortvalues[j]);<br />
}<br />
std::swap(sortvalues[i], sortvalues[r]);<br />
sort(sortvalues, l, i-1);<br />
sort(sortvalues, i+1, r);<br />
}<br />
}<br />
}</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2498428</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2498428</guid><dc:creator><![CDATA[Scholler]]></dc:creator><pubDate>Sat, 11 Jun 2016 08:57:04 GMT</pubDate></item><item><title><![CDATA[Reply to Probleme bei Hashtabelle mit Separate Chaining und Quicksort on Sat, 11 Jun 2016 09:32:09 GMT]]></title><description><![CDATA[<p>Codetags?<br />
Übersetbares Beispiel?<br />
Wozu dient das try/catch? Willst du da Speicherzugriffsfehler abfangen?<br />
Lässt du es &quot;bei dir&quot; im Debugger laufen?<br />
Mal mit eingeschaltetem Optimizer versucht?<br />
Welches Betriebssystem/Compiler überhaupt?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2498433</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2498433</guid><dc:creator><![CDATA[manni66]]></dc:creator><pubDate>Sat, 11 Jun 2016 09:32:09 GMT</pubDate></item><item><title><![CDATA[Reply to Probleme bei Hashtabelle mit Separate Chaining und Quicksort on Sat, 11 Jun 2016 09:59:41 GMT]]></title><description><![CDATA[<p>Scholler schrieb:</p>
<blockquote>
<p>Hey Leute,<br />
Ich studiere Informatik an der Uni Wien und mache gerade eine Übung bei der ich C++ programmieren muss.<br />
Auf meinem Rechner funktioniert alles einwandfrei, nur müssen wir das Programm dann bei dem sog. Unit-Test hochladen und der spuckt mir in meiner &quot;apply-Methode&quot; immer ein einen Segmentation Fault aus.</p>
</blockquote>
<p>Danke für die Info.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2498436</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2498436</guid><dc:creator><![CDATA[volkard]]></dc:creator><pubDate>Sat, 11 Jun 2016 09:59:41 GMT</pubDate></item></channel></rss>