<?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[Array-Sortierung]]></title><description><![CDATA[<p>servus</p>
<p>ich kenn bereits sortierverfahren wie bubblesort oder selectionsort. kann auch wunderbar einen Array sortieren lassen.</p>
<p>Nur jetzt hab ich eine Matrix (2D-Array). Nach manipulation des sortieralgo hab ich daraus eine tabellensortierung gemacht (zeile x wird sortiert und alle anderen werte der zeile rutschen mit hoch/runter.</p>
<p>Mein problem: wie bekomm ich es jetzt hin, dass eine sekundäre sortierung ausgeführt werden kann?<br />
Also dass ausgehend von zeile x alle werte von zeile y sortiert werden, die gleiche zeile-x-werte haben?</p>
<p>mir gehts erstmal nur um die aufstellung eines lösungsvorschlags<br />
danke</p>
<p>MfG<br />
Majestix</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/161429/array-sortierung</link><generator>RSS for Node</generator><lastBuildDate>Wed, 29 Jul 2026 12:34:51 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/161429.rss" rel="self" type="application/rss+xml"/><pubDate>Fri, 06 Oct 2006 13:05:50 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Array-Sortierung on Fri, 06 Oct 2006 13:05:50 GMT]]></title><description><![CDATA[<p>servus</p>
<p>ich kenn bereits sortierverfahren wie bubblesort oder selectionsort. kann auch wunderbar einen Array sortieren lassen.</p>
<p>Nur jetzt hab ich eine Matrix (2D-Array). Nach manipulation des sortieralgo hab ich daraus eine tabellensortierung gemacht (zeile x wird sortiert und alle anderen werte der zeile rutschen mit hoch/runter.</p>
<p>Mein problem: wie bekomm ich es jetzt hin, dass eine sekundäre sortierung ausgeführt werden kann?<br />
Also dass ausgehend von zeile x alle werte von zeile y sortiert werden, die gleiche zeile-x-werte haben?</p>
<p>mir gehts erstmal nur um die aufstellung eines lösungsvorschlags<br />
danke</p>
<p>MfG<br />
Majestix</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1150598</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1150598</guid><dc:creator><![CDATA[Majestix]]></dc:creator><pubDate>Fri, 06 Oct 2006 13:05:50 GMT</pubDate></item><item><title><![CDATA[Reply to Array-Sortierung on Fri, 06 Oct 2006 13:59:19 GMT]]></title><description><![CDATA[<p>An sich genauso, nur das halt das zu sortierende Element ein anderes ist.<br />
Folgendes wäre z.B. möglich.<br />
Zuerst sortiert du nach deinem Primärschlüssel das ganze Feld.<br />
Jetzt suchst du die Teilfelder, welche denselben Primärschlüssel haben und sortierst dann halt nur dieses Teilstück im Feld nach dem Sekundärschlüssel und nicht das gesamte Feld.</p>
<p>Darf ich hierbei auf #include &lt;algorithm&gt; und sort hinweisen? Zusammen mit den Iteratoren kannst du so prima nur Teile des Feldes sortieren lassen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1150633</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1150633</guid><dc:creator><![CDATA[Pellaeon]]></dc:creator><pubDate>Fri, 06 Oct 2006 13:59:19 GMT</pubDate></item><item><title><![CDATA[Reply to Array-Sortierung on Mon, 09 Oct 2006 22:59:27 GMT]]></title><description><![CDATA[<p>Zu Sortierverfahren allgemein und weiterführende Links:<br />
<a href="http://de.wikipedia.org/wiki/Sortierverfahren" rel="nofollow">http://de.wikipedia.org/wiki/Sortierverfahren</a></p>
<p>Bei grösseren Arrays empfehle ich im allgemeinen Mergesort. Mergesort ist zudem ein stabiler Sortieralgo, wodurch bei erneutem sortieren, die alte Sortierung &quot;erhalten&quot; bleibt.</p>
<p>Wenn du aber von Anfang an, die Sache in einem Schritt sortieren willst, dass nach zwei Kriterien oder mehr sortiert wird, dann ist das doch auch kein Problem. Ich zeige mal den Lösungsansatz anhand von einem Array von Structs.</p>
<pre><code class="language-cpp">struct SSort
{
    int x;
    int y;
};

void DieSortierfunktion(SSort* pArray, int nCount)
{
    // ...

    // Irgendwo in deiner Sortierfunktion wirst du dann die Werte vergleichen.
    if(pArray[i].x &gt; pArray[i+1].x)
    {
        if(pArray[i].y &gt; pArray[i+1].y)
        {
            // entsprechend einordnen.
        }
    }

    // ...
}
</code></pre>
<p>Mit der ersten Anweisung stellst du fest, ob das erste Kriterium erfüllt ist und sobald das der Fall ist, überprüfst du noch das zweite Kriterium. Das kann natürlich noch beliebig erweitert, verbessert und verändert werden. Aber das Prinzip hast du hoffentlich verstanden?</p>
<p>Grüssli</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1151886</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1151886</guid><dc:creator><![CDATA[Dravere]]></dc:creator><pubDate>Mon, 09 Oct 2006 22:59:27 GMT</pubDate></item></channel></rss>