<?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[Vektoren: Gleiche Einträge löschen?]]></title><description><![CDATA[<p>Hallo,<br />
ich habe einen Vektor, den ich gerne noch einmal in Vektoren &quot;aufsplitten&quot; möchte.</p>
<p>Die einzelnen Elemente sehen <strong>bis nun so</strong> aus:</p>
<pre><code>vektor[0] -&gt; test1a|test1b
vektor[1] -&gt; test2a|test2b
vektor[2] -&gt; test3a|test3b
</code></pre>
<p>Sie sollen <strong>nachher so</strong> aussehen:</p>
<pre><code>vektor[0][0] -&gt; test1a
vektor[0][1] -&gt; test1b
vektor[1][0] -&gt; test2a
vektor[1][1] -&gt; test2b
vektor[2][0] -&gt; test3a
vektor[2][1] -&gt; test3b
</code></pre>
<p>Das soll aber möglichst effizient sein.<br />
Danke!!</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/253692/vektoren-gleiche-einträge-löschen</link><generator>RSS for Node</generator><lastBuildDate>Sun, 13 Sep 2026 14:25:24 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/253692.rss" rel="self" type="application/rss+xml"/><pubDate>Thu, 05 Nov 2009 13:20:21 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Vektoren: Gleiche Einträge löschen? on Thu, 05 Nov 2009 13:20:21 GMT]]></title><description><![CDATA[<p>Hallo,<br />
ich habe einen Vektor, den ich gerne noch einmal in Vektoren &quot;aufsplitten&quot; möchte.</p>
<p>Die einzelnen Elemente sehen <strong>bis nun so</strong> aus:</p>
<pre><code>vektor[0] -&gt; test1a|test1b
vektor[1] -&gt; test2a|test2b
vektor[2] -&gt; test3a|test3b
</code></pre>
<p>Sie sollen <strong>nachher so</strong> aussehen:</p>
<pre><code>vektor[0][0] -&gt; test1a
vektor[0][1] -&gt; test1b
vektor[1][0] -&gt; test2a
vektor[1][1] -&gt; test2b
vektor[2][0] -&gt; test3a
vektor[2][1] -&gt; test3b
</code></pre>
<p>Das soll aber möglichst effizient sein.<br />
Danke!!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1803804</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1803804</guid><dc:creator><![CDATA[Viktor2010]]></dc:creator><pubDate>Thu, 05 Nov 2009 13:20:21 GMT</pubDate></item><item><title><![CDATA[Reply to Vektoren: Gleiche Einträge löschen? on Thu, 05 Nov 2009 13:32:51 GMT]]></title><description><![CDATA[<p>wozu brauchst du das?</p>
<p>was spricht dagegen, es von anfang an so abzuspeichern?</p>
<p>welche typen haben test1a / test1b ?<br />
sind noch andere objekte in der klasse gespeichert?</p>
<p>bb</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1803808</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1803808</guid><dc:creator><![CDATA[unskilled]]></dc:creator><pubDate>Thu, 05 Nov 2009 13:32:51 GMT</pubDate></item><item><title><![CDATA[Reply to Vektoren: Gleiche Einträge löschen? on Thu, 05 Nov 2009 13:37:10 GMT]]></title><description><![CDATA[<p>Da brauchst du einen anderen Typen. Z.B sowas:</p>
<pre><code class="language-cpp">std::vector&lt;std::vector&lt;int&gt; &gt; v;
...
std::vector&lt;int&gt; v1;
std::vector&lt;int&gt; v2;
std::vector&lt;int&gt; v3;

v1.push_back (11);
v1.push_back (12);
v1.push_back (13);

v2.push_back (11);
v2.push_back (22);
v2.push_back (23);

v3.push_back (31);
v3.push_back (32);
v3.push_back (33);
...

v.push_back (v1);
v.push_back (v2);
v.push_back (v3);
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1803814</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1803814</guid><dc:creator><![CDATA[drakon]]></dc:creator><pubDate>Thu, 05 Nov 2009 13:37:10 GMT</pubDate></item><item><title><![CDATA[Reply to Vektoren: Gleiche Einträge löschen? on Thu, 05 Nov 2009 13:42:25 GMT]]></title><description><![CDATA[<p><a class="plugin-mentions-user plugin-mentions-a" href="https://www.c-plusplus.net/forum/uid/16305">@unskilled</a>: Leider bekomme ich die Werte genau so vorgegeben (von einem anderen Programm) und ich muss sie dann auswerten <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><a class="plugin-mentions-user plugin-mentions-a" href="https://www.c-plusplus.net/forum/uid/18422">@drakon</a>: So ähnlich sah mein Ansatz auch aus, nur hat das bei den vielen Datensätzen sehr, sehr viel Zeit in Anspruch genommen(, bis ich dann erst zum eigentlichen Auswerten komme). Gibt es da nicht noch etwas geschickteres?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1803818</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1803818</guid><dc:creator><![CDATA[Viktor2010]]></dc:creator><pubDate>Thu, 05 Nov 2009 13:42:25 GMT</pubDate></item><item><title><![CDATA[Reply to Vektoren: Gleiche Einträge löschen? on Thu, 05 Nov 2009 13:46:23 GMT]]></title><description><![CDATA[<p>Achja, der Datentyp, den ich dafür benutze, ist std::string...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1803823</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1803823</guid><dc:creator><![CDATA[Viktor2010]]></dc:creator><pubDate>Thu, 05 Nov 2009 13:46:23 GMT</pubDate></item><item><title><![CDATA[Reply to Vektoren: Gleiche Einträge löschen? on Thu, 05 Nov 2009 13:48:14 GMT]]></title><description><![CDATA[<p>Das klingt so, als hättest du std::vector lediglich im Debug Mode gebraucht. Im optimierten Modus bist du viel schneller.</p>
<p>Im übrigen könnte man auch noch evaluieren, welchen Container du am besten benutzt, denn, wenn du viele Einfüge/Lösch Operationen hast, dann ist std::vector denkbar ungeeignet. (vlt. eher eine std::list? oder std::deque?)</p>
<p>Sie dazu z.B hier:<br />
<a href="http://stackoverflow.com/questions/471432/in-which-scenario-do-i-use-a-particular-stl-container" rel="nofollow">http://stackoverflow.com/questions/471432/in-which-scenario-do-i-use-a-particular-stl-container</a></p>
<p>EDIT:<br />
Achja.. std::string ist sehr aufwändig bei vielem kopieren. Vlt. geht auch was anderes?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1803824</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1803824</guid><dc:creator><![CDATA[drakon]]></dc:creator><pubDate>Thu, 05 Nov 2009 13:48:14 GMT</pubDate></item><item><title><![CDATA[Reply to Vektoren: Gleiche Einträge löschen? on Thu, 05 Nov 2009 13:57:33 GMT]]></title><description><![CDATA[<p>ich geh mal (frecherweise^^) davon aus, dass du den alten container danach nicht mehr brauchst!?<br />
string hat ne fkt swap (Laufzeit O(1)) - also kannst du die strings einfach swappen:</p>
<pre><code class="language-cpp">struct data
{
  std::string a;
  std::string b;
};

std::vector&lt;data&gt; old = strange_function();

std::vector&lt;std::string&gt; new_one(old.size());
std::vector&lt;std::string&gt; new_two(old.size());

for(std::vector&lt;std::string&gt;::size_type i(0), e(old.size()); i != e; ++i)
{
  old[i].a.swap(new_one[i]);
  old[i].b.swap(new_two[i]);
}
</code></pre>
<p>sehr viel schneller geht es imho nicht...<br />
das swappen+schleife könnte man jetzt noch in ne fkt packen und dann mit transform abstrahieren - aber das ändert (vermutlich) nichts an der laufzeit max. an der wartbarkeit, die dadurch zumindest in meinen augen nicht signifikant erhöht wird...</p>
<p>btw: Vector hört sich hier (für mich) durchaus sinnvoll an...</p>
<p>bb</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1803830</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1803830</guid><dc:creator><![CDATA[unskilled]]></dc:creator><pubDate>Thu, 05 Nov 2009 13:57:33 GMT</pubDate></item></channel></rss>