<?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[Code so in Ordnung ?]]></title><description><![CDATA[<p>Hallo,</p>
<p>aus einem String sollen alle Duplikate entfernt werden.<br />
z.b.</p>
<pre><code>string array[4]={&quot;IBM&quot;,&quot;Amazon&quot;,&quot;IBM&quot;,&quot;Google&quot;};
</code></pre>
<p>Hättet ihr das auch so programmiert ? Ist diese Lösung die funktioniert auch brauchbar hinsichtlich Performance etc. ?</p>
<pre><code>int removeDuplicates( string  array [], int len)
{
	for(int i= 0 ; i&lt; len ; i++)
	{
		for(int j =i+1 ; j&lt;len;j++)
		{
			if ( array[i].compare(array[j]) == 0 ) 
			{
				for(int k = j ; k &lt;len-1 ; k++)
				{
					array[k] = array[k+1]; 

				}
				len--;
			}
		}

    }
	return len; // neue Laenge des array. 
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/topic/319499/code-so-in-ordnung</link><generator>RSS for Node</generator><lastBuildDate>Sat, 25 Jul 2026 10:10:34 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/319499.rss" rel="self" type="application/rss+xml"/><pubDate>Wed, 21 Aug 2013 11:10:19 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Code so in Ordnung ? on Wed, 21 Aug 2013 11:11:16 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>aus einem String sollen alle Duplikate entfernt werden.<br />
z.b.</p>
<pre><code>string array[4]={&quot;IBM&quot;,&quot;Amazon&quot;,&quot;IBM&quot;,&quot;Google&quot;};
</code></pre>
<p>Hättet ihr das auch so programmiert ? Ist diese Lösung die funktioniert auch brauchbar hinsichtlich Performance etc. ?</p>
<pre><code>int removeDuplicates( string  array [], int len)
{
	for(int i= 0 ; i&lt; len ; i++)
	{
		for(int j =i+1 ; j&lt;len;j++)
		{
			if ( array[i].compare(array[j]) == 0 ) 
			{
				for(int k = j ; k &lt;len-1 ; k++)
				{
					array[k] = array[k+1]; 

				}
				len--;
			}
		}

    }
	return len; // neue Laenge des array. 
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/2347456</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2347456</guid><dc:creator><![CDATA[blurry333]]></dc:creator><pubDate>Wed, 21 Aug 2013 11:11:16 GMT</pubDate></item><item><title><![CDATA[Reply to Code so in Ordnung ? on Wed, 21 Aug 2013 11:13:17 GMT]]></title><description><![CDATA[<p>Ich hätte wahrscheinlich die Strings in einen vector gepackt und stl Funktionen verwendet. Ob das scheller ist weiß ich nicht aber mit Sicherheit sehr viel kürzer und verständlicher.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2347457</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2347457</guid><dc:creator><![CDATA[TNA]]></dc:creator><pubDate>Wed, 21 Aug 2013 11:13:17 GMT</pubDate></item><item><title><![CDATA[Reply to Code so in Ordnung ? on Wed, 21 Aug 2013 11:15:36 GMT]]></title><description><![CDATA[<p>Ohne den Code angeschaut zu haben: sollen die Einträge am Ende die selbe Reihenfolge haben, doer ist die Reihenfolge egal?</p>
<p>Ansonsten:</p>
<p>std:sort,<br />
std::unique,<br />
(std::vector::erase)&lt;&lt;würdest du die Elemente am Ende wirklich löschen...</p>
<p>in der Reihenfolge.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2347458</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2347458</guid><dc:creator><![CDATA[otze]]></dc:creator><pubDate>Wed, 21 Aug 2013 11:15:36 GMT</pubDate></item><item><title><![CDATA[Reply to Code so in Ordnung ? on Wed, 21 Aug 2013 11:15:22 GMT]]></title><description><![CDATA[<blockquote>
<p>Hättet ihr das auch so programmiert ?</p>
</blockquote>
<p>Definitiv nicht: <a href="http://www.cplusplus.com/reference/algorithm/unique/" rel="nofollow">http://www.cplusplus.com/reference/algorithm/unique/</a></p>
<p>Also erst std::sort, dann std::unique. Wenn die Reihenfolge erhaltenbleiben soll, arbeitet man auf Indexmengen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2347459</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2347459</guid><dc:creator><![CDATA[knivil]]></dc:creator><pubDate>Wed, 21 Aug 2013 11:15:22 GMT</pubDate></item><item><title><![CDATA[Reply to Code so in Ordnung ? on Wed, 21 Aug 2013 11:19:21 GMT]]></title><description><![CDATA[<pre><code>vector&lt;string&gt; vec={&quot;IBM&quot;,&quot;Amazon&quot;,&quot;IBM&quot;,&quot;Google&quot;};
sort (vec.begin(),vec.end());
vec.erase(unique(vec.begin(),vec.end()),vec.end());
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/2347461</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2347461</guid><dc:creator><![CDATA[TNA]]></dc:creator><pubDate>Wed, 21 Aug 2013 11:19:21 GMT</pubDate></item><item><title><![CDATA[Reply to Code so in Ordnung ? on Wed, 21 Aug 2013 11:29:26 GMT]]></title><description><![CDATA[<p>Klar die Reihenfolge soll schon gleich bleiben. WEnn du sortierst ist das nicht mehr der Fall.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2347463</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2347463</guid><dc:creator><![CDATA[blurry333]]></dc:creator><pubDate>Wed, 21 Aug 2013 11:29:26 GMT</pubDate></item><item><title><![CDATA[Reply to Code so in Ordnung ? on Wed, 21 Aug 2013 11:50:03 GMT]]></title><description><![CDATA[<p>blurry333 schrieb:</p>
<blockquote>
<p>Klar die Reihenfolge soll schon gleich bleiben. WEnn du sortierst ist das nicht mehr der Fall.</p>
</blockquote>
<p>Trotzdem ist das kein Grund, auf grundlegenden Komfort und auch grundlegende Abstraktion zu verzichten. So sollte die Signatur aussehen:</p>
<pre><code>template &lt;typename Iterator&gt; Iterator removeDuplicates(Iterator begin, Iterator end);  // Rückgabewert a la vector::erase
</code></pre>
<p>Zack! Schon ist egal, ob es sich um string, Zahlen oder sonstwas handelt. Schon ist es sich egal, ob diese in einem Array, vector oder selbstgeschriebenen Container sind. Trotzdem bleibt der Code fast identisch. So viele Vorteile, kein Nachteil.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2347472</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2347472</guid><dc:creator><![CDATA[SeppJ]]></dc:creator><pubDate>Wed, 21 Aug 2013 11:50:03 GMT</pubDate></item><item><title><![CDATA[Reply to Code so in Ordnung ? on Wed, 21 Aug 2013 12:10:01 GMT]]></title><description><![CDATA[<p>Was meint ihr mit &quot;auf Indexmengen arbeiten&quot;?</p>
<p>Eine Liste (vector, array oder oder) erzeugen, der alle Indizes trägt, diesen sortieren, &quot;uniquen&quot; und Duplikate removen, indem per Prädikat auf das Element an der Stelle x zugegriffen wird?</p>
<p>Also so etwa?!</p>
<pre><code>int main()
{
  vector&lt;string&gt; producers = { &quot;IBM&quot;,  &quot;Dell&quot;,  &quot;Intel&quot;,  &quot;Amazon&quot;,  &quot;IBM&quot; };
  vector&lt;size_t&gt; indizes = {0,  1,  2,  3,  4};             // ja geht besser mit generate/fill oder oder

  sort(indizes.begin(), indizes.end(), 
    [&amp;](size_t a, size_t b)
    {
      return producers[a] &lt; producers[b];
    }
  );

  indizes.erase(
    unique(indizes.begin(),  indizes.end(), 
      [&amp;](size_t a,  size_t b)
	{
	  return producers[a] == producers[b];
	}
      ), 
    indizes.end()
  );

  vector&lt;string&gt; results;                                   // geht auch schöner
  results.reserve(indizes.size());
  for (auto i : indizes)
    results.push_back(producers[i]);

  return 0x0;
};
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/2347478</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2347478</guid><dc:creator><![CDATA[Skym0sh0]]></dc:creator><pubDate>Wed, 21 Aug 2013 12:10:01 GMT</pubDate></item><item><title><![CDATA[Reply to Code so in Ordnung ? on Wed, 21 Aug 2013 12:10:10 GMT]]></title><description><![CDATA[<p>blurry333 schrieb:</p>
<blockquote>
<p>Klar die Reihenfolge soll schon gleich bleiben. WEnn du sortierst ist das nicht mehr der Fall.</p>
</blockquote>
<p>Und nochmal, arbeite mit Indexmengen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2347479</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2347479</guid><dc:creator><![CDATA[knivil]]></dc:creator><pubDate>Wed, 21 Aug 2013 12:10:10 GMT</pubDate></item></channel></rss>