<?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 von (int, struct)-Tuppeln]]></title><description><![CDATA[<p>Hallo c++ler</p>
<p>Ich arbeite gerade an meinem ersten größeren Projekt in C++ und weiss nicht genau,<br />
wie ich ein kleines Problem in dieser Sprache loesen kann.<br />
Es geht darum, dass ich ein struct (cvBox) aus einer Bibliothek (openCV) einsetze. In einer<br />
meiner Funktionen erstelle ich jetzt unbekannt viele dieser structs und erstelle fuer<br />
jedes dieser Structs noch eine Bewertung in Form eines ints. Jetzt wuerde ich gerne<br />
die n besten dieser Structs in einer Liste sammeln.<br />
Meine erste Idee war die, ein Array of cvBox mit n Eintrügen benutze und ein weiteres, in dem<br />
ich die Bewertungen speicher. Wenn ich jetzt eine neue cvBox bekomme, kann ich sie passend<br />
in die Listen eintragen. Problematisch finde ich hier die Einfuegezeit in O(n), da der Algorithmus<br />
recht häufig aufgerufen wird, und ich Kamerabilder verarbeite, also ein festes Zeitfenster habe.<br />
Alternativ wollte ich eine einfach verkettete Liste implementieren, da ich hier zwar auch Suchen, dafuer einfach einfüegen kann.<br />
Da ich aber das Rad nicht noch Mal erfinden wollte, wollte ich euch fragen, ob c++ schon etwas<br />
in dieser Richtung mit sich bringt. Also im Besten Fall eine Art Dictionary (wie aus Python),<br />
dem man Tuppe aus Objekten uebergibt und angeben kann, nach welchem Tuppeleintrag sortiert<br />
werden soll.</p>
<p>Koennte mir da jemand weiterhelfen?</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/229111/sortieren-von-int-struct-tuppeln</link><generator>RSS for Node</generator><lastBuildDate>Mon, 28 Sep 2026 03:25:50 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/229111.rss" rel="self" type="application/rss+xml"/><pubDate>Sun, 07 Dec 2008 18:28:04 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Sortieren von (int, struct)-Tuppeln on Sun, 07 Dec 2008 18:28:04 GMT]]></title><description><![CDATA[<p>Hallo c++ler</p>
<p>Ich arbeite gerade an meinem ersten größeren Projekt in C++ und weiss nicht genau,<br />
wie ich ein kleines Problem in dieser Sprache loesen kann.<br />
Es geht darum, dass ich ein struct (cvBox) aus einer Bibliothek (openCV) einsetze. In einer<br />
meiner Funktionen erstelle ich jetzt unbekannt viele dieser structs und erstelle fuer<br />
jedes dieser Structs noch eine Bewertung in Form eines ints. Jetzt wuerde ich gerne<br />
die n besten dieser Structs in einer Liste sammeln.<br />
Meine erste Idee war die, ein Array of cvBox mit n Eintrügen benutze und ein weiteres, in dem<br />
ich die Bewertungen speicher. Wenn ich jetzt eine neue cvBox bekomme, kann ich sie passend<br />
in die Listen eintragen. Problematisch finde ich hier die Einfuegezeit in O(n), da der Algorithmus<br />
recht häufig aufgerufen wird, und ich Kamerabilder verarbeite, also ein festes Zeitfenster habe.<br />
Alternativ wollte ich eine einfach verkettete Liste implementieren, da ich hier zwar auch Suchen, dafuer einfach einfüegen kann.<br />
Da ich aber das Rad nicht noch Mal erfinden wollte, wollte ich euch fragen, ob c++ schon etwas<br />
in dieser Richtung mit sich bringt. Also im Besten Fall eine Art Dictionary (wie aus Python),<br />
dem man Tuppe aus Objekten uebergibt und angeben kann, nach welchem Tuppeleintrag sortiert<br />
werden soll.</p>
<p>Koennte mir da jemand weiterhelfen?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1626606</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1626606</guid><dc:creator><![CDATA[Nikolas]]></dc:creator><pubDate>Sun, 07 Dec 2008 18:28:04 GMT</pubDate></item><item><title><![CDATA[Reply to Sortieren von (int, struct)-Tuppeln on Sun, 07 Dec 2008 18:36:46 GMT]]></title><description><![CDATA[<p>Da bieten sich natürlich die std::set und std::map-Container beziehungsweise deren multi-Versionen an. Log(n) für einfügen und suchen. Besser gehts ja bis auf konstante Faktoren eigentlich nicht. Beiden kannst du den zu verwendenden Komparator als Template-Argument beifügen (oder einfach durch std:less und entsprechendem operator&lt; realisieren).</p>
<p>MfG,<br />
Michael</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1626613</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1626613</guid><dc:creator><![CDATA[[[global:guest]]]]></dc:creator><pubDate>Sun, 07 Dec 2008 18:36:46 GMT</pubDate></item><item><title><![CDATA[Reply to Sortieren von (int, struct)-Tuppeln on Sun, 07 Dec 2008 19:17:19 GMT]]></title><description><![CDATA[<p>Nikolas schrieb:</p>
<blockquote>
<p>Da ich aber das Rad nicht noch Mal erfinden wollte, wollte ich euch fragen, ob c++ schon etwas<br />
in dieser Richtung mit sich bringt.</p>
</blockquote>
<p>Guter Ansatz. <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>Also die C++-Standardbibliothek besitzt als Teil der STL einige Container. Eine gute Einführung findest du <a href="http://www.c-plusplus.net/forum/viewtopic-var-t-is-143816.html" rel="nofollow">hier</a>.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1626649</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1626649</guid><dc:creator><![CDATA[Nexus]]></dc:creator><pubDate>Sun, 07 Dec 2008 19:17:19 GMT</pubDate></item><item><title><![CDATA[Reply to Sortieren von (int, struct)-Tuppeln on Sun, 07 Dec 2008 19:21:21 GMT]]></title><description><![CDATA[<p>Das klingt recht optimal <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="🙂"
    /> Danke</p>
<p>Mal kurz mein Plan:<br />
Ich nehme ein Multimap aus meinem int als Key und mein Struct als Klasse und lasse den Vergleichsoperator so wie er ist.<br />
Wenn ich ein neues Objekt einfügen will, bilde ich ein pair aus int und dem struct und benutze insert. Wenn ich jetzt die 5 Objekte mit dem größten Key haben will, benutze ich <a href="http://www.cplusplus.com/reference/stl/map/rbegin.html" rel="nofollow">http://www.cplusplus.com/reference/stl/map/rbegin.html</a> und zähle während der Ausgabe einfach mit.</p>
<p>klingt das soweit sinnvoll oder hat jemand einen besseren Vorschlag?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1626655</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1626655</guid><dc:creator><![CDATA[Nikolas]]></dc:creator><pubDate>Sun, 07 Dec 2008 19:21:21 GMT</pubDate></item><item><title><![CDATA[Reply to Sortieren von (int, struct)-Tuppeln on Sun, 07 Dec 2008 19:24:10 GMT]]></title><description><![CDATA[<p>Nikolas schrieb:</p>
<blockquote>
<p>klingt das soweit sinnvoll oder hat jemand einen besseren Vorschlag?</p>
</blockquote>
<p>Ja, klingt sinnvoll. Das einzige, was mich skeptisch macht, ist die Multimap - kann es bei dir vorkommen, dass mehrere gleiche Schlüssel vorhanden sind? Wenn ja, ist <code>std::multimap</code> angebracht. Wenn nein, reicht auch <code>std::map</code> , die eine eindeutige Schlüssel-Wert-Kombination hat.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1626656</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1626656</guid><dc:creator><![CDATA[Nexus]]></dc:creator><pubDate>Sun, 07 Dec 2008 19:24:10 GMT</pubDate></item><item><title><![CDATA[Reply to Sortieren von (int, struct)-Tuppeln on Sun, 07 Dec 2008 19:28:02 GMT]]></title><description><![CDATA[<p>Ich suche ellipsen in einem Kantenbild. Jede cvBox beschreibt eine Ellipse und die Bewertung besteht aus der Anzahl der Kantenpunkte, die unter dieser Ellipse liegen. (meist so 50-60). Wenn ich 20 Ellipsen in der Liste habe, kann es schon vorkommen, dass ich mehrere Objekte mit gleicher Bewertung habe.<br />
Danke für den Hinweis <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>
]]></description><link>https://www.c-plusplus.net/forum/post/1626659</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1626659</guid><dc:creator><![CDATA[Nikolas]]></dc:creator><pubDate>Sun, 07 Dec 2008 19:28:02 GMT</pubDate></item><item><title><![CDATA[Reply to Sortieren von (int, struct)-Tuppeln on Sun, 07 Dec 2008 23:48:55 GMT]]></title><description><![CDATA[<p>eine kleine Frage hätte ich noch:</p>
<p>in meinem Buch C/C++ von Kaiser/Kecher steht, dass ich für die Multimenge noch<br />
# include &lt;set&gt;<br />
einbinden muss. Wenn ich es damit mache, wird die MultiMap nicht erkannt, wenn ich aber &lt;map&gt; einbinde, funktioniert alles wie oben beschrieben.<br />
Ist das einfach ein Fehler im Buch oder gibt es da eine andere Erklärung?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1626750</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1626750</guid><dc:creator><![CDATA[Nikolas]]></dc:creator><pubDate>Sun, 07 Dec 2008 23:48:55 GMT</pubDate></item><item><title><![CDATA[Reply to Sortieren von (int, struct)-Tuppeln on Mon, 08 Dec 2008 00:24:10 GMT]]></title><description><![CDATA[<p>Nikolas schrieb:</p>
<blockquote>
<p>eine kleine Frage hätte ich noch:</p>
<p>in meinem Buch C/C++ von Kaiser/Kecher steht, dass ich für die Multimenge noch<br />
# include &lt;set&gt;<br />
einbinden muss. Wenn ich es damit mache, wird die MultiMap nicht erkannt, wenn ich aber &lt;map&gt; einbinde, funktioniert alles wie oben beschrieben.<br />
Ist das einfach ein Fehler im Buch oder gibt es da eine andere Erklärung?</p>
</blockquote>
<p>set musst du include, wenn du std::set benutzen willst und map, wenn du std::map benutzen willst.. <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="🙂"
    /> - So einfach. Wird also ein Fehler im Buch sein. <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/1626759</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1626759</guid><dc:creator><![CDATA[drakon]]></dc:creator><pubDate>Mon, 08 Dec 2008 00:24:10 GMT</pubDate></item><item><title><![CDATA[Reply to Sortieren von (int, struct)-Tuppeln on Mon, 08 Dec 2008 05:36:26 GMT]]></title><description><![CDATA[<p>Ist kein Fehler im Buch: Multi<strong>menge</strong> ist das <code>multiset</code> , und das liegt im <code>&lt;set&gt;</code> header - da du aber keine einfache sondern eine indizierte Menge hast ( <code>multimap</code> ) musst du auch <code>&lt;map&gt;</code> benutzen <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/1626776</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1626776</guid><dc:creator><![CDATA[pumuckl]]></dc:creator><pubDate>Mon, 08 Dec 2008 05:36:26 GMT</pubDate></item><item><title><![CDATA[Reply to Sortieren von (int, struct)-Tuppeln on Tue, 09 Dec 2008 11:24:15 GMT]]></title><description><![CDATA[<p>Ok, dann ist es klar.</p>
<p>Danke an alle <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>
]]></description><link>https://www.c-plusplus.net/forum/post/1627543</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1627543</guid><dc:creator><![CDATA[Nikolas]]></dc:creator><pubDate>Tue, 09 Dec 2008 11:24:15 GMT</pubDate></item></channel></rss>