<?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[HILFE ich dreh frei 6h verschwendet, STL-Sort-Vector]]></title><description><![CDATA[<p>Hi all,</p>
<p>ich hab folgendes prob. Ich will zum sortieren des sequenziellen containers vector die sort-Funktion aus der STL nutzen. sort(first,last)<br />
Problem ist wenn ich das One-Past-The-End-Element(last) von meinem vector übergebe, wird in sort eine expecption ausgelöst <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f621.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--pouting_face"
      title=":rage:"
      alt="😡"
    /> . Ich habe das selbe mit einem int carray getestet --&gt; funktioniert reibungslos. Ich drehe langsam durch 6h schon die selbe scheisse egal was ich versuche. HELP <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>
<p>Was ist das? Woran liegt es? Und wie kann ich es beheben?</p>
<p>thx to all</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/186353/hilfe-ich-dreh-frei-6h-verschwendet-stl-sort-vector</link><generator>RSS for Node</generator><lastBuildDate>Thu, 24 Sep 2026 08:31:45 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/186353.rss" rel="self" type="application/rss+xml"/><pubDate>Sat, 07 Jul 2007 20:24:25 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to HILFE ich dreh frei 6h verschwendet, STL-Sort-Vector on Sat, 07 Jul 2007 20:24:57 GMT]]></title><description><![CDATA[<p>Hi all,</p>
<p>ich hab folgendes prob. Ich will zum sortieren des sequenziellen containers vector die sort-Funktion aus der STL nutzen. sort(first,last)<br />
Problem ist wenn ich das One-Past-The-End-Element(last) von meinem vector übergebe, wird in sort eine expecption ausgelöst <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f621.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--pouting_face"
      title=":rage:"
      alt="😡"
    /> . Ich habe das selbe mit einem int carray getestet --&gt; funktioniert reibungslos. Ich drehe langsam durch 6h schon die selbe scheisse egal was ich versuche. HELP <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>
<p>Was ist das? Woran liegt es? Und wie kann ich es beheben?</p>
<p>thx to all</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1320398</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1320398</guid><dc:creator><![CDATA[Pvt.Frost]]></dc:creator><pubDate>Sat, 07 Jul 2007 20:24:57 GMT</pubDate></item><item><title><![CDATA[Reply to HILFE ich dreh frei 6h verschwendet, STL-Sort-Vector on Sat, 07 Jul 2007 20:37:50 GMT]]></title><description><![CDATA[<p>Hallo</p>
<p>Für std::sort muß ja auch der Bereich von ersten bis zum <a href="http://www.cppreference.com/cppvector/back.html" rel="nofollow">letzten Element</a> angegeben werden, nicht der vom ersten bis zum <a href="http://www.cppreference.com/cppvector/end.html" rel="nofollow">nächten</a> nach dem letzten.</p>
<p>bis bald<br />
akari</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1320403</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1320403</guid><dc:creator><![CDATA[akari]]></dc:creator><pubDate>Sat, 07 Jul 2007 20:37:50 GMT</pubDate></item><item><title><![CDATA[Reply to HILFE ich dreh frei 6h verschwendet, STL-Sort-Vector on Sat, 07 Jul 2007 20:48:22 GMT]]></title><description><![CDATA[<p>Pvt.Frost schrieb:</p>
<blockquote>
<p>ich hab folgendes prob. Ich will zum sortieren des sequenziellen containers vector die sort-Funktion aus der STL nutzen. sort(first,last)<br />
Problem ist wenn ich das One-Past-The-End-Element(last) von meinem vector übergebe, wird in sort eine expecption ausgelöst <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f621.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--pouting_face"
      title=":rage:"
      alt="😡"
    /> . Ich habe das selbe mit einem int carray getestet --&gt; funktioniert reibungslos. Ich drehe langsam durch 6h schon die selbe scheisse egal was ich versuche. HELP <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>Code?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1320409</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1320409</guid><dc:creator><![CDATA[finix]]></dc:creator><pubDate>Sat, 07 Jul 2007 20:48:22 GMT</pubDate></item><item><title><![CDATA[Reply to HILFE ich dreh frei 6h verschwendet, STL-Sort-Vector on Sat, 07 Jul 2007 20:49:20 GMT]]></title><description><![CDATA[<p>akari schrieb:</p>
<blockquote>
<p>Für std::sort muß ja auch der Bereich von ersten bis zum <a href="http://www.cppreference.com/cppvector/back.html" rel="nofollow">letzten Element</a> angegeben werden, nicht der vom ersten bis zum <a href="http://www.cppreference.com/cppvector/end.html" rel="nofollow">nächten</a> nach dem letzten.</p>
</blockquote>
<p><code>std::sort</code> sortiert [first, last**)**.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1320410</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1320410</guid><dc:creator><![CDATA[finix]]></dc:creator><pubDate>Sat, 07 Jul 2007 20:49:20 GMT</pubDate></item><item><title><![CDATA[Reply to HILFE ich dreh frei 6h verschwendet, STL-Sort-Vector on Sat, 07 Jul 2007 20:50:22 GMT]]></title><description><![CDATA[<p>mhh ich will ja net wiedersprechen, aber wieso gebe ich dann bei einem c-array das One-Past-The-End-Element mit und es geht (funktioniert-auch die Sortierung). Und wenn ich es so implementiere wie eben vorgeschlagen wird das letzte Element meines vectors net sortiert <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="😞"
    /></p>
<p>Edit:<br />
<code>std::sort</code> sortiert [first, last**)**.[/quote]<br />
so kenn ich es auch</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1320411</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1320411</guid><dc:creator><![CDATA[Pvt.Frost]]></dc:creator><pubDate>Sat, 07 Jul 2007 20:50:22 GMT</pubDate></item><item><title><![CDATA[Reply to HILFE ich dreh frei 6h verschwendet, STL-Sort-Vector on Sat, 07 Jul 2007 20:49:41 GMT]]></title><description><![CDATA[<p>Zeig mal den Code her, bei mir funktioniert das wunderbar.</p>
<p><a class="plugin-mentions-user plugin-mentions-a" href="https://www.c-plusplus.net/forum/uid/7971">@akari</a>: nein, sort arbeitet genauso mit halb offenen Intervallen wie so ziemlich alles andere in der STL.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1320412</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1320412</guid><dc:creator><![CDATA[hustbaer]]></dc:creator><pubDate>Sat, 07 Jul 2007 20:49:41 GMT</pubDate></item><item><title><![CDATA[Reply to HILFE ich dreh frei 6h verschwendet, STL-Sort-Vector on Sat, 07 Jul 2007 20:50:33 GMT]]></title><description><![CDATA[<p>akari schrieb:</p>
<blockquote>
<p>Hallo</p>
<p>Für std::sort muß ja auch der Bereich von ersten bis zum <a href="http://www.cppreference.com/cppvector/back.html" rel="nofollow">letzten Element</a> angegeben werden, nicht der vom ersten bis zum <a href="http://www.cppreference.com/cppvector/end.html" rel="nofollow">nächten</a> nach dem letzten.</p>
<p>bis bald<br />
akari</p>
</blockquote>
<p>nö, das &quot;nachste nach dem letzten&quot; ist schon richtig. der fehler wird woanders liegen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1320413</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1320413</guid><dc:creator><![CDATA[thordk]]></dc:creator><pubDate>Sat, 07 Jul 2007 20:50:33 GMT</pubDate></item><item><title><![CDATA[Reply to HILFE ich dreh frei 6h verschwendet, STL-Sort-Vector on Sat, 07 Jul 2007 20:54:54 GMT]]></title><description><![CDATA[<p>beispiel-Code für das Prob</p>
<pre><code>vector&lt;int&gt; a;
	for(int i=0; i&lt;10; ++i)
	{
		a.push_back(rand());
		cout&lt;&lt;a.at(i)&lt;&lt;endl;
	}

	std::sort(&amp;a[0],&amp;a[10]);
</code></pre>
<p>Edit:</p>
<blockquote>
<p>nö, das &quot;nachste nach dem letzten&quot; ist schon richtig. der fehler wird woanders liegen.</p>
</blockquote>
<p>ich muss nur wissen wo <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f62e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_with_open_mouth"
      title=":open_mouth:"
      alt="😮"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1320415</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1320415</guid><dc:creator><![CDATA[Pvt.Frost]]></dc:creator><pubDate>Sat, 07 Jul 2007 20:54:54 GMT</pubDate></item><item><title><![CDATA[Reply to HILFE ich dreh frei 6h verschwendet, STL-Sort-Vector on Sat, 07 Jul 2007 20:58:10 GMT]]></title><description><![CDATA[<p>Versuch mal</p>
<pre><code class="language-cpp">sort(a.begin(), a.end());
</code></pre>
<p>edit: 10 wäre sowieso <a href="http://en.wikipedia.org/wiki/Off-by-one_error" rel="nofollow">falsch</a>.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1320416</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1320416</guid><dc:creator><![CDATA[finix]]></dc:creator><pubDate>Sat, 07 Jul 2007 20:58:10 GMT</pubDate></item><item><title><![CDATA[Reply to HILFE ich dreh frei 6h verschwendet, STL-Sort-Vector on Sat, 07 Jul 2007 20:58:20 GMT]]></title><description><![CDATA[<p>Dein Code geht erstmal schon davon aus dass ein Iterator als pointer implementiert ist</p>
<pre><code class="language-cpp">std::sort(&amp;a[0],&amp;a[10]);
</code></pre>
<p>Der operator[](std::size_t) ist für einen Index &gt;= size() nicht definiert (?)</p>
<p>Richtig also:</p>
<pre><code class="language-cpp">std::sort(a.begin(),a.end());
</code></pre>
<p>Bei einem CArray mag das Funktionieren ... ist aber IMHO auch undefiniert.</p>
<p>btw.: VC6?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1320418</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1320418</guid><dc:creator><![CDATA[darthdespotism]]></dc:creator><pubDate>Sat, 07 Jul 2007 20:58:20 GMT</pubDate></item><item><title><![CDATA[Reply to HILFE ich dreh frei 6h verschwendet, STL-Sort-Vector on Sat, 07 Jul 2007 21:06:53 GMT]]></title><description><![CDATA[<p>mhh aber vector ist wie c-array ein sequenzieller container von daher dürfte das net das prob sein. Bei begin und end war ich schon bei testen.<br />
Nur nützt mir das leider net weil ich einen Teilstamm sortieren muss zb. die ersten oder letzten 10 elemente. <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/26a0.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--warning"
      title=":warning:"
      alt="⚠"
    /></p>
<p>EDIT:</p>
<blockquote>
<p>darthdespotism</p>
</blockquote>
<p>thx for [] tip</p>
<p>nur wie bekomme ich universeller das OPTEE wie zb im Teilsortierbereich?</p>
<p>PS: soweit ich weis ist in dem überladenen operator[] keine Index-Überwachung wie in der fkt .at() implementiert. Ich versteh nur net warum nix geht <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f621.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--pouting_face"
      title=":rage:"
      alt="😡"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1320422</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1320422</guid><dc:creator><![CDATA[Pvt.Frost]]></dc:creator><pubDate>Sat, 07 Jul 2007 21:06:53 GMT</pubDate></item><item><title><![CDATA[Reply to HILFE ich dreh frei 6h verschwendet, STL-Sort-Vector on Sat, 07 Jul 2007 21:08:06 GMT]]></title><description><![CDATA[<pre><code class="language-cpp">assert(v.size() &gt;= 10);

std::sort(v.begin(), v.begin() + 10);

std::sort(v.rbegin(), v.rbegin() + 10, std::greater&lt;int&gt;());
</code></pre>
<p>(ungetestet)</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1320423</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1320423</guid><dc:creator><![CDATA[Mr. N]]></dc:creator><pubDate>Sat, 07 Jul 2007 21:08:06 GMT</pubDate></item><item><title><![CDATA[Reply to HILFE ich dreh frei 6h verschwendet, STL-Sort-Vector on Sat, 07 Jul 2007 21:17:10 GMT]]></title><description><![CDATA[<p>Mr. N schrieb:</p>
<blockquote>
<pre><code class="language-cpp">assert(v.size() &gt;= 10);

std::sort(v.begin(), v.begin() + 10);

std::sort(v.rbegin(), v.rbegin() + 10, std::greater&lt;int&gt;());
</code></pre>
<p>(ungetestet)</p>
</blockquote>
<p>omfg mega thx to mr. n <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f603.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--grinning_face_with_big_eyes"
      title=":D"
      alt="😃"
    /></p>
<p>ich wusste net das der operator+ für die _Iterator Klasse von vector so überladen ist <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=";D"
      alt="😉"
    /> du hast jemanden happy gemacht t+7stunden=lösung xD</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1320425</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1320425</guid><dc:creator><![CDATA[Pvt.Frost]]></dc:creator><pubDate>Sat, 07 Jul 2007 21:17:10 GMT</pubDate></item><item><title><![CDATA[Reply to HILFE ich dreh frei 6h verschwendet, STL-Sort-Vector on Sat, 07 Jul 2007 21:28:54 GMT]]></title><description><![CDATA[<p>Vielleicht geht zweiteres auch eleganter:</p>
<pre><code class="language-cpp">std::sort(v.end() - 10, v.end());
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1320432</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1320432</guid><dc:creator><![CDATA[Mr. N]]></dc:creator><pubDate>Sat, 07 Jul 2007 21:28:54 GMT</pubDate></item><item><title><![CDATA[Reply to HILFE ich dreh frei 6h verschwendet, STL-Sort-Vector on Sat, 07 Jul 2007 21:37:44 GMT]]></title><description><![CDATA[<p>Mr. N schrieb:</p>
<blockquote>
<p>Vielleicht geht zweiteres auch eleganter:</p>
<pre><code class="language-cpp">std::sort(v.end() - 10, v.end());
</code></pre>
</blockquote>
<p>thx <sup>_</sup> ist aber in meinem Fall gehupft wie gesprungen. Da der Sortierbereich nach vorn und hinten flexibel seien muss. Das sähe dann so aus</p>
<pre><code>b=0;
e=10;
std::sort(v.begin()+b, v.begin()+e);
</code></pre>
<p>thx nochmal mein kopf ist wieder frei <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f603.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--grinning_face_with_big_eyes"
      title=":D"
      alt="😃"
    /> <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f603.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--grinning_face_with_big_eyes"
      title=":D"
      alt="😃"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1320435</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1320435</guid><dc:creator><![CDATA[Pvt.Frost]]></dc:creator><pubDate>Sat, 07 Jul 2007 21:37:44 GMT</pubDate></item><item><title><![CDATA[Reply to HILFE ich dreh frei 6h verschwendet, STL-Sort-Vector on Sun, 08 Jul 2007 10:10:39 GMT]]></title><description><![CDATA[<p>Pvt.Frost schrieb:</p>
<blockquote>
<p>PS: soweit ich weis ist in dem überladenen operator[] keine Index-Überwachung wie in der fkt .at() implementiert.</p>
</blockquote>
<p>Das ist nicht definiert. Und dereferenzierender Zugriff auf nicht reservierten Speicher ist *sowieso* nicht reserviert, also ist '&amp;a[10]' auch bei einem C-Array undefiniert, wenn das Array 10 Elemente hat. Die meisten Compiler können's zwar trotzdem, VC 2005 meckert aber z.B. – Stattdessen kann kann auch hier einfach Addition verwenden: '&amp;a[9] + 1'.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1320572</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1320572</guid><dc:creator><![CDATA[Konrad Rudolph]]></dc:creator><pubDate>Sun, 08 Jul 2007 10:10:39 GMT</pubDate></item><item><title><![CDATA[Reply to HILFE ich dreh frei 6h verschwendet, STL-Sort-Vector on Sun, 08 Jul 2007 10:37:26 GMT]]></title><description><![CDATA[<p>Konrad Rudolph schrieb:</p>
<blockquote>
<p>also ist '&amp;a[10]' auch bei einem C-Array undefiniert, wenn das Array 10 Elemente hat.</p>
</blockquote>
<p>Das ist genau der springende Punkt. Sowohl für</p>
<pre><code class="language-cpp">int a[10];
</code></pre>
<p>als auch für</p>
<pre><code class="language-cpp">std::vector&lt;int&gt; a(10, 0);
</code></pre>
<p>resultiert &amp;a[10] in undefiniertem Verhalten, da in beiden Fällen eine Dereferenzierung außerhalb der erlaubten Grenzen stattfindet (zur Erinnerung: im ersten Fall ist a[10] logisch äquivalent zu &amp;*(a+10)).<br />
Für ein C-Array ist die korrekte Variante: a+10 (allgemein a+offset). Bei einem std::vector baut man entweder auf die Random-Access-Iteratoren (wie hier bereits gezeigt wurde), oder man verwendet &amp;a[0] + offset. Was natürlich voraussetzt, dass a nicht leer ist.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1320581</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1320581</guid><dc:creator><![CDATA[HumeSikkins]]></dc:creator><pubDate>Sun, 08 Jul 2007 10:37:26 GMT</pubDate></item></channel></rss>