<?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[Sortieren mit der STL]]></title><description><![CDATA[<p>Hi,</p>
<p>hab ein kleines Verständnisproblem mit den Sortieralgorithmen. Irgendwie ist mir die Verwendung von Vergleichs- und Sortieralgorithmen der STL nicht ganz klar. Mit STL-Containern und Klassentemplates komme ich ganz gut zurecht. Aber wie sortiere ich Container mit eigenen Klassen?</p>
<p>Ein Beispiel:</p>
<pre><code class="language-cpp">struct vertex
{
	std::string	desc;
	color		color;
	float		x;
	float		y;
}

std::vector&lt;vertex&gt;	list;

fill(list);

// TODO: aufsteigend sortieren von x und y ???
</code></pre>
<p>Gibt's irgendwo einschauliche Tutorials dafür?</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/144941/sortieren-mit-der-stl</link><generator>RSS for Node</generator><lastBuildDate>Wed, 02 Sep 2026 20:30:25 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/144941.rss" rel="self" type="application/rss+xml"/><pubDate>Sun, 23 Apr 2006 10:53:42 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Sortieren mit der STL on Sun, 23 Apr 2006 10:53:42 GMT]]></title><description><![CDATA[<p>Hi,</p>
<p>hab ein kleines Verständnisproblem mit den Sortieralgorithmen. Irgendwie ist mir die Verwendung von Vergleichs- und Sortieralgorithmen der STL nicht ganz klar. Mit STL-Containern und Klassentemplates komme ich ganz gut zurecht. Aber wie sortiere ich Container mit eigenen Klassen?</p>
<p>Ein Beispiel:</p>
<pre><code class="language-cpp">struct vertex
{
	std::string	desc;
	color		color;
	float		x;
	float		y;
}

std::vector&lt;vertex&gt;	list;

fill(list);

// TODO: aufsteigend sortieren von x und y ???
</code></pre>
<p>Gibt's irgendwo einschauliche Tutorials dafür?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1043216</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1043216</guid><dc:creator><![CDATA[don_basto]]></dc:creator><pubDate>Sun, 23 Apr 2006 10:53:42 GMT</pubDate></item><item><title><![CDATA[Reply to Sortieren mit der STL on Sun, 23 Apr 2006 10:57:15 GMT]]></title><description><![CDATA[<p>Du must dir halt selbst ein algorithmus schreiben, ich glaub nicht das standart Algorithmen alzuviel mit deiner Klasse anfangen können.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1043224</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1043224</guid><dc:creator><![CDATA[Mario Sandler]]></dc:creator><pubDate>Sun, 23 Apr 2006 10:57:15 GMT</pubDate></item><item><title><![CDATA[Reply to Sortieren mit der STL on Sun, 23 Apr 2006 10:58:48 GMT]]></title><description><![CDATA[<p>Hi</p>
<p>Dazu musst Du den Operator &lt; und &gt; für Deine eigene Klasse implementieren.<br />
Dann kannst Du selbst sagen wonach sortiert werden soll. erst x dann y oder umgekehrt.</p>
<p><a href="http://www.c-plusplus.net/cms/modules.php?op=modload&amp;name=Downloads&amp;file=index&amp;req=viewsdownload&amp;sid=8" rel="nofollow">hier</a></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1043225</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1043225</guid><dc:creator><![CDATA[THX 1138]]></dc:creator><pubDate>Sun, 23 Apr 2006 10:58:48 GMT</pubDate></item><item><title><![CDATA[Reply to Sortieren mit der STL on Sun, 23 Apr 2006 11:06:13 GMT]]></title><description><![CDATA[<p><a href="http://Storm.Xapek.de" rel="nofollow">Storm.Xapek.de</a> schrieb:</p>
<blockquote>
<p>Du must dir halt selbst ein algorithmus schreiben, ich glaub nicht das stan**** Algorithmen alzuviel mit deiner Klasse anfangen können.</p>
</blockquote>
<p>Das ist doch gerade der Trick an der STL, daß es eben doch geht. <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="😉"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1043229</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1043229</guid><dc:creator><![CDATA[Jester]]></dc:creator><pubDate>Sun, 23 Apr 2006 11:06:13 GMT</pubDate></item><item><title><![CDATA[Reply to Sortieren mit der STL on Sun, 23 Apr 2006 11:28:45 GMT]]></title><description><![CDATA[<p>Wenn man die Vergleichsoperationen der Klasse nicht definieren kann bzw. will, kann man bei der sort-Fkt. auch eine Vergleichsfkt. angeben. Wie müsste die Fkt. für das Beispiel ungefähr aussehen?</p>
<p>// EDIT:<br />
Vllt. so:</p>
<pre><code class="language-cpp">bool compare(vertex a, vertex b)
{
	if (a.x &lt; b.x)
		return true;
	else if (a.x == b.x &amp;&amp; a.y &lt; b.y)
		return true;

	return false;
}

sort(list.begin(), list.end(), compare);
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1043232</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1043232</guid><dc:creator><![CDATA[don_basto]]></dc:creator><pubDate>Sun, 23 Apr 2006 11:28:45 GMT</pubDate></item><item><title><![CDATA[Reply to Sortieren mit der STL on Sun, 23 Apr 2006 11:40:51 GMT]]></title><description><![CDATA[<p>So funktionierts. War doch nicht so schwer. <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="😉"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1043244</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1043244</guid><dc:creator><![CDATA[don_basto]]></dc:creator><pubDate>Sun, 23 Apr 2006 11:40:51 GMT</pubDate></item><item><title><![CDATA[Reply to Sortieren mit der STL on Sun, 23 Apr 2006 11:53:18 GMT]]></title><description><![CDATA[<p>Eine Sache vielleicht noch. IMHO solltest du die Funktion nicht compare nennen. compare sieht normalerweise folgendermaßen aus:</p>
<pre><code class="language-cpp">int compare(object &amp;lhs, object &amp;rhs)
{
    if(lhs ist kleiner als rhs)
        return -1;
    if(lhs ist größer als rhs)
        return 1;
    return 0;
}
</code></pre>
<p>Deine Funktion würd ich [Vertex]Smaller() nennen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1043251</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1043251</guid><dc:creator><![CDATA[Michael E.]]></dc:creator><pubDate>Sun, 23 Apr 2006 11:53:18 GMT</pubDate></item><item><title><![CDATA[Reply to Sortieren mit der STL on Sun, 23 Apr 2006 12:05:32 GMT]]></title><description><![CDATA[<p>warum nicht einfach</p>
<pre><code class="language-cpp">struct vertex
{
    std::string    desc;
    color        color;
    float        x;
    float        y;

    bool operator&lt; (const vertex&amp; other)
    {
        return desc &lt; other.desc &amp;&amp; color &lt; other.color &amp;&amp; x &lt; other.x &amp;&amp; y &lt; other.y;
    }
};
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1043254</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1043254</guid><dc:creator><![CDATA[dragon90#]]></dc:creator><pubDate>Sun, 23 Apr 2006 12:05:32 GMT</pubDate></item></channel></rss>