<?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[Elemente in std::vector vergleichen]]></title><description><![CDATA[<p>Guten Tag,<br />
ich habe einen std::vector, in dem alle Elemente untereinander verglichen werden müssen. Es wäre ja ziemlich langsam, wenn ich einfach mit 2 Iteratoren durch den Vektor iterieren würde, denn dann würde ich ja nicht nur das 1. Element mit dem 2. Element vergleichen, sondern auch das 2. mit dem 1. Das will ich vermeiden.<br />
Hoffe ihr könnt mir da nen Algorithmus geben, habe es nämlich nicht hinbekommen, den selber zu schreiben.<br />
Mit freundlichen Grüßen,<br />
playking21</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/325422/elemente-in-std-vector-vergleichen</link><generator>RSS for Node</generator><lastBuildDate>Sun, 12 Jul 2026 18:15:08 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/325422.rss" rel="self" type="application/rss+xml"/><pubDate>Thu, 01 May 2014 11:13:58 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Elemente in std::vector vergleichen on Thu, 01 May 2014 11:14:28 GMT]]></title><description><![CDATA[<p>Guten Tag,<br />
ich habe einen std::vector, in dem alle Elemente untereinander verglichen werden müssen. Es wäre ja ziemlich langsam, wenn ich einfach mit 2 Iteratoren durch den Vektor iterieren würde, denn dann würde ich ja nicht nur das 1. Element mit dem 2. Element vergleichen, sondern auch das 2. mit dem 1. Das will ich vermeiden.<br />
Hoffe ihr könnt mir da nen Algorithmus geben, habe es nämlich nicht hinbekommen, den selber zu schreiben.<br />
Mit freundlichen Grüßen,<br />
playking21</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2396957</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2396957</guid><dc:creator><![CDATA[playking21]]></dc:creator><pubDate>Thu, 01 May 2014 11:14:28 GMT</pubDate></item><item><title><![CDATA[Reply to Elemente in std::vector vergleichen on Thu, 01 May 2014 11:32:47 GMT]]></title><description><![CDATA[<p>Willst du jedes Element mit jedem vergleichen? Das ist immer noch langsam (quadratische Laufzeit), aber sähe so aus:</p>
<pre><code>for (auto first = c.begin(); first != c.end(); ++first)
{
	for (auto second = std::next(first); second != c.end(); ++second)
	{
		doSomething(*first, *second);
	}
}
</code></pre>
<p>Je nachdem, was du tun willst, kannst du durch vorheriges Sortieren o.Ä. viel effizienter arbeiten. Also beschreib vielleicht mal dein Problem.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2396960</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2396960</guid><dc:creator><![CDATA[Nexus]]></dc:creator><pubDate>Thu, 01 May 2014 11:32:47 GMT</pubDate></item><item><title><![CDATA[Reply to Elemente in std::vector vergleichen on Thu, 01 May 2014 12:41:00 GMT]]></title><description><![CDATA[<p>Ok, also eigentlich geht es darum, dass ich einen Vector habe, in dem Objekte gespeichert sind, die eine Kollision haben können. Habe ich jetzt zum Beispiel zwei Objekte(A und B), muss ich ja nur die Kollision zwischen A und B prüfen.</p>
<pre><code>prüfeKollision(a, b);
</code></pre>
<p>Mit deinem Lösungsvorschlag, hätte ich ja das Problem, dass er die Funktion 2-mal aufruft(oder?)</p>
<pre><code>prüfeKollision(a, b);
prüfeKollision(b, a);
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/2396971</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2396971</guid><dc:creator><![CDATA[playking21]]></dc:creator><pubDate>Thu, 01 May 2014 12:41:00 GMT</pubDate></item><item><title><![CDATA[Reply to Elemente in std::vector vergleichen on Thu, 01 May 2014 12:57:00 GMT]]></title><description><![CDATA[<p>Nein, der Code von Nexus prüft nichts doppelt, siehe <code>auto second = std::next(first)</code> in der inneren for-Schleife.</p>
<p>Eventuell ist es mit Indizes etwas einfacher zu verstehen. Mit Indizes (anstatt Iteratoren) wäre es</p>
<pre><code>for ( int i = 0; i &lt; m; ++i )
{
  for ( int j = i + 1; j &lt; n; ++j )
  {
    // ...
  }
}
</code></pre>
<p>Offensichtlich gilt stets j &gt; i und deswegen wird nichts doppelt überprüft.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2396974</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2396974</guid><dc:creator><![CDATA[icarus2]]></dc:creator><pubDate>Thu, 01 May 2014 12:57:00 GMT</pubDate></item><item><title><![CDATA[Reply to Elemente in std::vector vergleichen on Thu, 01 May 2014 13:01:01 GMT]]></title><description><![CDATA[<p>Danke für eure Hilfe</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2396975</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2396975</guid><dc:creator><![CDATA[playking21]]></dc:creator><pubDate>Thu, 01 May 2014 13:01:01 GMT</pubDate></item></channel></rss>