<?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[STL: Set (Menge) soll nicht intern sortieren...]]></title><description><![CDATA[<p>Hallo!</p>
<p>Weiß jemand von euch, ob man eine Menge (set) dazu bringen kann, nicht zu sortieren?<br />
Im Konstruktoraufruf läßt sich ein Ordnungskriterium angeben - default ist da less&lt;T&gt; angegeben. Will im Prinzip Zahlen in eine Set einfügen und zwar am Ende (eine push_back-Methode gibt es ja nicht). Jetzt fragt sich vielleicht einer von euch, warum ich überhaupt eine Menge statt z.B. einer list verwende: Ich wollte auf einfache Weise verhindern, dass doppelte Elemente auftreten...tja...<br />
Gibt es eine unsortierte set? Ich kann ja nur insert zum Einfügen verwenden <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>Danke schonmal</p>
<p>Gruß,<br />
[NeoSpee]</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/130247/stl-set-menge-soll-nicht-intern-sortieren</link><generator>RSS for Node</generator><lastBuildDate>Wed, 26 Aug 2026 14:35:52 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/130247.rss" rel="self" type="application/rss+xml"/><pubDate>Wed, 21 Dec 2005 10:08:59 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to STL: Set (Menge) soll nicht intern sortieren... on Wed, 21 Dec 2005 10:08:59 GMT]]></title><description><![CDATA[<p>Hallo!</p>
<p>Weiß jemand von euch, ob man eine Menge (set) dazu bringen kann, nicht zu sortieren?<br />
Im Konstruktoraufruf läßt sich ein Ordnungskriterium angeben - default ist da less&lt;T&gt; angegeben. Will im Prinzip Zahlen in eine Set einfügen und zwar am Ende (eine push_back-Methode gibt es ja nicht). Jetzt fragt sich vielleicht einer von euch, warum ich überhaupt eine Menge statt z.B. einer list verwende: Ich wollte auf einfache Weise verhindern, dass doppelte Elemente auftreten...tja...<br />
Gibt es eine unsortierte set? Ich kann ja nur insert zum Einfügen verwenden <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>Danke schonmal</p>
<p>Gruß,<br />
[NeoSpee]</p>
]]></description><link>https://www.c-plusplus.net/forum/post/946877</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/946877</guid><dc:creator><![CDATA[[NeoSpee]]]></dc:creator><pubDate>Wed, 21 Dec 2005 10:08:59 GMT</pubDate></item><item><title><![CDATA[Reply to STL: Set (Menge) soll nicht intern sortieren... on Wed, 21 Dec 2005 10:15:43 GMT]]></title><description><![CDATA[<p>ein set muss _immer_ sortiert sein, sonst kann es ja nicht klappen <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>
<p>doppelte elemente kannst du zB mit unique aus algorithm raus suchen, oder direkt vor dem einfügen testen (zB wrapper um list schreiben).</p>
]]></description><link>https://www.c-plusplus.net/forum/post/946882</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/946882</guid><dc:creator><![CDATA[Shade Of Mine]]></dc:creator><pubDate>Wed, 21 Dec 2005 10:15:43 GMT</pubDate></item><item><title><![CDATA[Reply to STL: Set (Menge) soll nicht intern sortieren... on Wed, 21 Dec 2005 10:16:51 GMT]]></title><description><![CDATA[<p>Nein, set's sind per Default sortiert, du könntest dir nur eine eigene Vergleichsfunktion schreiben, die nicht anhand des Zahlenwertes vergleicht (dürfte allerdings problematisch werden, da diese auch für vorhanden-Tests genutzt wird) oder eine eigene unsortierte Menge auf list-Basis schreiben:</p>
<pre><code class="language-cpp">template&lt;typename T&gt; class USet
{
public:
  ...
  bool insert(const T&amp; val)
  {
    if(find(data.begin(),data.end(),val)==data.end()) return false;
    data.push_back(val);
    return true;
  }
  ...
private:
  list&lt;T&gt; data;
};
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/946884</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/946884</guid><dc:creator><![CDATA[CStoll (off)]]></dc:creator><pubDate>Wed, 21 Dec 2005 10:16:51 GMT</pubDate></item><item><title><![CDATA[Reply to STL: Set (Menge) soll nicht intern sortieren... on Wed, 21 Dec 2005 10:25:31 GMT]]></title><description><![CDATA[<p>Danke! <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>Habe jetzt wieder eine Liste verwendet, und beim Einfügen auf doppelte Elemente geprüft. Funktioniert auch wunderbar...wenn ich damals nicht so faul gewesen wäre (wollte mir durch die Menge das Suchen nach doppelten Elementen ersparen), hätte ich jetzt auch dieses Problem nicht gehabt <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>Na ja, wieder was dazu gelernt <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>Gruß! und nochmals Danke!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/946888</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/946888</guid><dc:creator><![CDATA[[NeoSpee]]]></dc:creator><pubDate>Wed, 21 Dec 2005 10:25:31 GMT</pubDate></item><item><title><![CDATA[Reply to STL: Set (Menge) soll nicht intern sortieren... on Wed, 21 Dec 2005 10:31:52 GMT]]></title><description><![CDATA[<p>So wie du es anwenden möchtest müsstest du im Schnitt immer halb soviele Objektvergleiche durchführen wie es Elemente in deinem Container gibt um zu wissen ob du das Objekt einfügen kannst oder nicht.<br />
Durch die Sortierung reduziert sich dies auf (wenn ich mich ganz nicht irre) log (Anzahl der Elemente). Also ein kleines bißchen schneller.</p>
<p>Die Definition einer Menge erlaubt deren Sortierung. Wenn du einen Container benötigst, bei dem die Position der Elemente fest sein soll musst du auf eine andere Container-Art zurückgreifen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/946891</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/946891</guid><dc:creator><![CDATA[Mathias]]></dc:creator><pubDate>Wed, 21 Dec 2005 10:31:52 GMT</pubDate></item><item><title><![CDATA[Reply to STL: Set (Menge) soll nicht intern sortieren... on Wed, 21 Dec 2005 11:13:13 GMT]]></title><description><![CDATA[<p>wenn du ne set nimmst, haste die einfügereihenfolge verloren.<br />
wenn du ne list (oder besser queue) nimmst, kannste nur mit O(n) doppel verhindern.</p>
<p>die lösung: nimm beides.<br />
beim einfügen schauste erst in die set, ob da schon sowas ist und nur wenn da nix ist, fügste in set und queue ein. beim löschen (löschen am anfang nehme ich an) brauchste nix weiter zu beachten, kannst ja nur sachen löschen, die drin sein.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/946932</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/946932</guid><dc:creator><![CDATA[volkard]]></dc:creator><pubDate>Wed, 21 Dec 2005 11:13:13 GMT</pubDate></item></channel></rss>