<?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 algorithmus find()]]></title><description><![CDATA[<p>Hallo Leute,<br />
hat jemand einen Plan wie man find() auf eine std::list &lt;std::pair&lt;int,int&gt; &gt; anwendet folgender code generiert einen error c2039.</p>
<pre><code class="language-cpp">std::list&lt; std::pair&lt;int,int&gt; &gt; flist;
std::list&lt; std::pair&lt;int,int&gt; &gt;::iterator fIt;

for(int k=0; k&lt;maxK; k++)
{
     fIt= std::find(flist.begin(), flist.end(), k);

     if(fIt!=flist.end())
          // gefunden -&gt; k == fIt-&gt;first
     else
         // nicht gefunden
}
</code></pre>
<p>Die Liste soll also auf das erste auftreten von k untersucht werden.</p>
<p>Falls jemand eine Lösung hat würd ich mich freuen die zu lesen.</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/158872/stl-algorithmus-find</link><generator>RSS for Node</generator><lastBuildDate>Thu, 10 Sep 2026 06:25:41 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/158872.rss" rel="self" type="application/rss+xml"/><pubDate>Sat, 09 Sep 2006 11:16:46 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to stl algorithmus find() on Sat, 09 Sep 2006 11:16:46 GMT]]></title><description><![CDATA[<p>Hallo Leute,<br />
hat jemand einen Plan wie man find() auf eine std::list &lt;std::pair&lt;int,int&gt; &gt; anwendet folgender code generiert einen error c2039.</p>
<pre><code class="language-cpp">std::list&lt; std::pair&lt;int,int&gt; &gt; flist;
std::list&lt; std::pair&lt;int,int&gt; &gt;::iterator fIt;

for(int k=0; k&lt;maxK; k++)
{
     fIt= std::find(flist.begin(), flist.end(), k);

     if(fIt!=flist.end())
          // gefunden -&gt; k == fIt-&gt;first
     else
         // nicht gefunden
}
</code></pre>
<p>Die Liste soll also auf das erste auftreten von k untersucht werden.</p>
<p>Falls jemand eine Lösung hat würd ich mich freuen die zu lesen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1134173</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1134173</guid><dc:creator><![CDATA[kerniger]]></dc:creator><pubDate>Sat, 09 Sep 2006 11:16:46 GMT</pubDate></item><item><title><![CDATA[Reply to stl algorithmus find() on Sat, 09 Sep 2006 11:44:41 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>warum suchst du nach einem einzelnen int in einem Container, der std::pair&lt;int, int&gt; enthält? Such nach dem richtigen Datentyp.</p>
<p>MfG</p>
<p>GPC</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1134183</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1134183</guid><dc:creator><![CDATA[GPC]]></dc:creator><pubDate>Sat, 09 Sep 2006 11:44:41 GMT</pubDate></item><item><title><![CDATA[Reply to stl algorithmus find() on Sat, 09 Sep 2006 12:52:16 GMT]]></title><description><![CDATA[<p>Ok. der falsche Datentyp. Ich möchte prüfen ob eines der pair::first elemente in der Liste mit k übereinstimmt. Ohne eine for Schleife zu verwenden.</p>
<p>cu.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1134209</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1134209</guid><dc:creator><![CDATA[kerniger]]></dc:creator><pubDate>Sat, 09 Sep 2006 12:52:16 GMT</pubDate></item><item><title><![CDATA[Reply to stl algorithmus find() on Sat, 09 Sep 2006 18:34:05 GMT]]></title><description><![CDATA[<p>EDIT: Bullshit-Code removed...</p>
<p>Mich beschleicht trotzdem das Gefühl, du hast die falsche Datenstruktur (list mit pair als Elementen) ausgewählt. Wäre es ein Problem, eine std::map zu verwenden, die hat Schlüssel-Wert Paare als Elemente, ist immer sortiert und flott beim Suchen.</p>
<p>MfG</p>
<p>GPC</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1134347</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1134347</guid><dc:creator><![CDATA[GPC]]></dc:creator><pubDate>Sat, 09 Sep 2006 18:34:05 GMT</pubDate></item><item><title><![CDATA[Reply to stl algorithmus find() on Sat, 09 Sep 2006 18:21:56 GMT]]></title><description><![CDATA[<p>Ich denke da musst du schon nen eigenes pair erstellen und den op== so definieren das er nur first vergleicht.</p>
<p>Was anderes fällt mir nicht ein <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>
<pre><code class="language-cpp">template&lt;typename T1,typename T2&gt;
class mypair {

   private:
           pair&lt;T1,T2&gt; pp;
   public:
           mypair(T1 a, T2 b) : pp(a,b)  {};
           ~mypair() {}; 

           bool operator== (const T1&amp; rob) { return pp.first == rob; }                  

};
</code></pre>
<p>Dann ganz normal mit find arbeiten...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1134348</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1134348</guid><dc:creator><![CDATA[[[global:guest]]]]></dc:creator><pubDate>Sat, 09 Sep 2006 18:21:56 GMT</pubDate></item><item><title><![CDATA[Reply to stl algorithmus find() on Sat, 09 Sep 2006 18:31:11 GMT]]></title><description><![CDATA[<p>GPC schrieb:</p>
<blockquote>
<pre><code class="language-cpp">std::list&lt; std::pair&lt;int,int&gt; &gt; flist;
std::list&lt; std::pair&lt;int,int&gt; &gt;::iterator fIt;

std::pair&lt;int, int&gt; p;
p.first = p.second = -1;  //Ich gehe mal davon aus, dass -1 nicht bei second vorkommt, ersetze es halt durch eine angemessen Zahl
for(int k=0; k&lt;maxK; k++) {
     p.first = k;
     fIt= std::find(flist.begin(), flist.end(), p);

     if( fIt != flist.end() )
          // gefunden
     else
         // nicht gefunden
}
</code></pre>
</blockquote>
<p>Verstehe ich irgendwie nicht <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f644.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_with_rolling_eyes"
      title=":rolling_eyes:"
      alt="🙄"
    /><br />
Das kann doch nicht funktionieren, weil das komplette pair in find() verglichen wird.<br />
Aber es soll doch nur mit first verglichen werden ...</p>
<p>Ansonsten wie GPC sagte, wieso kein std::map ?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1134355</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1134355</guid><dc:creator><![CDATA[[[global:guest]]]]></dc:creator><pubDate>Sat, 09 Sep 2006 18:31:11 GMT</pubDate></item><item><title><![CDATA[Reply to stl algorithmus find() on Sat, 09 Sep 2006 18:36:44 GMT]]></title><description><![CDATA[<p>Ah, fuck. Stimmt. <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="😞"
    /><br />
Na dann entweder eigenen Comparator oder <strong>std::map</strong><br />
Eigene Klasse bauen halte ich für unvorteilhaft, ne simple Funktion reicht aus und irritiert nicht unnötig mit dem unvertrauten Verhalten von op==</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1134357</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1134357</guid><dc:creator><![CDATA[GPC]]></dc:creator><pubDate>Sat, 09 Sep 2006 18:36:44 GMT</pubDate></item><item><title><![CDATA[Reply to stl algorithmus find() on Sun, 10 Sep 2006 12:07:40 GMT]]></title><description><![CDATA[<p>Danke für die manigfaltigen Abtworten.<br />
Also manchmal bin auch dumm wie Brot und verzettel mich. Eine std::map ist genau der assoziative Container der die Aufgabe mit bravour löst.</p>
<p>Der Code sieht jetzt so aus.</p>
<pre><code class="language-cpp">std::map&lt; int, int, std::greater&lt;int&gt; &gt; fmap;
std::map&lt; int, int, std::greater&lt;int&gt; &gt;::iterator fIt;

for(int k=0; k&lt;maxK; k++)
{
     fIt= fmap.find(k);

     if(fIt!=flist.end())
          // gefunden mache blabla
     else
         // nicht gefunden mache bimbom
}
</code></pre>
<p>Echt doof von mir auf der pair Liste zu beharren. Tausend dank an all die netten Leute die mir geholfen haben.</p>
<p>THX &amp;&amp; CU</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1134607</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1134607</guid><dc:creator><![CDATA[kerniger]]></dc:creator><pubDate>Sun, 10 Sep 2006 12:07:40 GMT</pubDate></item></channel></rss>