<?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[sortierte maps]]></title><description><![CDATA[<p>Hallo zusammen</p>
<p>ich habe das Problem dass mir meine Map meine key-woerter sortiert. Ich weiss zwar, dass map so implementiert ist, aber kann ich das auch umgehen? Ich glaube gelesen zu haben dass man dann seinen eigenen sort() algorithmus schreiben muss. Wo ist denn der bei dem maps definiert? Bzw wie kann ich meine Daten trotzdem in der Reihenfolge haben, wie ich sie eigentlich will und nicht wie sie die map speichert? Ich hatte mir ueberlegt in der Methode einfach eine feste Liste zu speichern in der Reihenfolge wie ich es gerne moechte und dann dementsprechend meine Daten wieder in einen vector stecke. Ist das zu kompliziert?</p>
<p>Danke fuer eure Hilfe und<br />
Gruesse</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/141405/sortierte-maps</link><generator>RSS for Node</generator><lastBuildDate>Mon, 31 Aug 2026 13:20:05 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/141405.rss" rel="self" type="application/rss+xml"/><pubDate>Tue, 21 Mar 2006 16:51:20 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to sortierte maps on Tue, 21 Mar 2006 16:51:20 GMT]]></title><description><![CDATA[<p>Hallo zusammen</p>
<p>ich habe das Problem dass mir meine Map meine key-woerter sortiert. Ich weiss zwar, dass map so implementiert ist, aber kann ich das auch umgehen? Ich glaube gelesen zu haben dass man dann seinen eigenen sort() algorithmus schreiben muss. Wo ist denn der bei dem maps definiert? Bzw wie kann ich meine Daten trotzdem in der Reihenfolge haben, wie ich sie eigentlich will und nicht wie sie die map speichert? Ich hatte mir ueberlegt in der Methode einfach eine feste Liste zu speichern in der Reihenfolge wie ich es gerne moechte und dann dementsprechend meine Daten wieder in einen vector stecke. Ist das zu kompliziert?</p>
<p>Danke fuer eure Hilfe und<br />
Gruesse</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1021215</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1021215</guid><dc:creator><![CDATA[samo]]></dc:creator><pubDate>Tue, 21 Mar 2006 16:51:20 GMT</pubDate></item><item><title><![CDATA[Reply to sortierte maps on Tue, 21 Mar 2006 18:36:22 GMT]]></title><description><![CDATA[<p>Vielleicht so:</p>
<pre><code class="language-cpp">struct DontSort
{
    template &lt;typename T&gt;
    bool operator () (const T&amp;, const T&amp;)
    {
        return true;
    }
};

std::map&lt;std::string, int, DontSort&gt; m;
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1021250</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1021250</guid><dc:creator><![CDATA[.filmor]]></dc:creator><pubDate>Tue, 21 Mar 2006 18:36:22 GMT</pubDate></item><item><title><![CDATA[Reply to sortierte maps on Tue, 21 Mar 2006 18:44:00 GMT]]></title><description><![CDATA[<p>Ne Map ist doch ein Baum da gibt es keine Sortierung.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1021256</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1021256</guid><dc:creator><![CDATA[~~~~~~~~]]></dc:creator><pubDate>Tue, 21 Mar 2006 18:44:00 GMT</pubDate></item><item><title><![CDATA[Reply to sortierte maps on Tue, 21 Mar 2006 19:06:07 GMT]]></title><description><![CDATA[<p>Die Lösung ist recht simpel: std::list&lt; std::pair&lt; key, value &gt; &gt;</p>
<p>Die Lösung da oben ist nicht nur quatsch, sondern ausdrücklich verboten.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1021273</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1021273</guid><dc:creator><![CDATA[Any]]></dc:creator><pubDate>Tue, 21 Mar 2006 19:06:07 GMT</pubDate></item><item><title><![CDATA[Reply to sortierte maps on Tue, 21 Mar 2006 19:10:43 GMT]]></title><description><![CDATA[<blockquote>
<p>Ne Map ist doch ein Baum da gibt es keine Sortierung.</p>
</blockquote>
<p>Aber wenn du durchiterierst, bekommst du die nicht in einfügeordnung (sondern meist sortiert)</p>
<p>Wenn du wenige Elemente hast, ist eine unsortierte Liste und eine lineare Suche oft besser.</p>
<p>Wenn du den schnellen Zugriff brauchst: parallel Liste oder Vektor (je nach Anwendungsfall) mit den map-Iteratoren halten (in Einfügereihenfolge), das ganze in eine Klasse verpacken.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1021275</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1021275</guid><dc:creator><![CDATA[peterchen]]></dc:creator><pubDate>Tue, 21 Mar 2006 19:10:43 GMT</pubDate></item><item><title><![CDATA[Reply to sortierte maps on Tue, 21 Mar 2006 19:28:20 GMT]]></title><description><![CDATA[<p>Any schrieb:</p>
<blockquote>
<p>Die Lösung ist recht simpel: std::list&lt; std::pair&lt; key, value &gt; &gt;</p>
<p>Die Lösung da oben ist nicht nur quatsch, sondern ausdrücklich verboten.</p>
</blockquote>
<p>Das ist nicht gleichwertig mit einer map. Man hat so keinen Zugriff über ein Key-Objekt. Warum ist meins verboten?!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1021292</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1021292</guid><dc:creator><![CDATA[.filmor]]></dc:creator><pubDate>Tue, 21 Mar 2006 19:28:20 GMT</pubDate></item><item><title><![CDATA[Reply to sortierte maps on Tue, 21 Mar 2006 19:32:32 GMT]]></title><description><![CDATA[<p>.filmor schrieb:</p>
<blockquote>
<p>Any schrieb:</p>
<blockquote>
<p>Die Lösung ist recht simpel: std::list&lt; std::pair&lt; key, value &gt; &gt;</p>
<p>Die Lösung da oben ist nicht nur quatsch, sondern ausdrücklich verboten.</p>
</blockquote>
<p>Das ist nicht gleichwertig mit einer map. Man hat so keinen Zugriff über ein Key-Objekt.</p>
</blockquote>
<p>Ich denke er meint Peterchens Lösung...</p>
<p>.filmor schrieb:</p>
<blockquote>
<p>Warum ist meins verboten?!</p>
</blockquote>
<p>Strict Weak Ordering? Schon mal gehört?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1021295</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1021295</guid><dc:creator><![CDATA[finix]]></dc:creator><pubDate>Tue, 21 Mar 2006 19:32:32 GMT</pubDate></item><item><title><![CDATA[Reply to sortierte maps on Wed, 22 Mar 2006 13:46:19 GMT]]></title><description><![CDATA[<p>.filmor schrieb:</p>
<blockquote>
<p>Any schrieb:</p>
<blockquote>
<p>Die Lösung ist recht simpel: std::list&lt; std::pair&lt; key, value &gt; &gt;</p>
<p>Die Lösung da oben ist nicht nur quatsch, sondern ausdrücklich verboten.</p>
</blockquote>
<p>Das ist nicht gleichwertig mit einer map. Man hat so keinen Zugriff über ein Key-Objekt. Warum ist meins verboten?!</p>
</blockquote>
<p>Das Prädikat-Objekt dient nicht einfach nur zur Sortierung, sondern auch zur ermittlung der Gleichheit der Schlüssel. Wenn Du aus der Map einen Wert z. B. mittels std:<img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f5fa.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--world_map"
      title=":map:"
      alt="🗺"
    />:find ermittelst, dann bekommst Du mit deinem Prädikat wahrscheinlich keinen Treffer, da find ein Element sucht, bei denen pred(a, b) und pred(b, a) falsch sind. Genau dann ist nämlich Gleichheit gegeben (man denke an &quot;a &lt; b&quot; und &quot;b &lt; a&quot;). Bei Deiner Implementierung ist das nie der Fall, also gibt es keine Treffer.</p>
<p>Wobei Du bei einem Versuch durchaus Treffer bekommen kannst, da ein Fall, wo &quot;pred(a, b)&quot; und &quot;pred(b, a)&quot; wahr ergeben nicht sein darf und daher undefiniert und damit implementierungsabhängig ist.</p>
<p>Tommi</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1021697</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1021697</guid><dc:creator><![CDATA[tntnet]]></dc:creator><pubDate>Wed, 22 Mar 2006 13:46:19 GMT</pubDate></item></channel></rss>