<?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[struct in verschachtelte vectoren sortieren]]></title><description><![CDATA[<p>Hallo zusammen,</p>
<p>ich habe ein Problem mit verschachtelten Vektoren. Ich muss den Auseren Vektor nach einem Wert des Structs des inneren Vektors sortieren.<br />
Hört sich verwirrend an, deshalb hier mal ein codebeispiel:</p>
<pre><code>struct meinStruct
{
 int a; //bei allen Vektoren des &quot;inneren&quot; Vekrors der gleiche Wert
 int b; //bei alles Vektoren unterschiedlich
};

vect&lt; vect&lt; meinstruct &gt; &gt; meineDaten;
</code></pre>
<p>wenn man das nun ausgibt (ich beschränke mich mal auf pseudocode):</p>
<pre><code>for(Anfang bis Ende &quot;auserer&quot; Vektor)
{
 for(Anfang bis Ende &quot;innerer&quot; Vektor)
 {
  cout&lt;&lt;meineDaten[iterator ausen][iterator innen].a&lt;&lt;&quot;,&quot;;
  cout&lt;&lt;meineDaten[iterator ausen][iterator innen].b&lt;&lt;&quot; &quot;;
 }
 cout&lt;&lt;endl;
}
</code></pre>
<p>sollte das bei 3/3 ungefägr so aussehen:<br />
`</p>
<p>a,b a,b a,b</p>
<p>a,b a,b a,b</p>
<p>a,b a,b a,b</p>
<p>`<br />
Der Wert a hat dabei nun in jeder Zeile den gleichen wert (in diesem Beispiel 1, 2 oder 3)</p>
<p>Mein Problem ist nun das ich die auseren Vektoren nach dem a-wert eines (z.B. des ersten Vetors in einer Zeile, ia aberegal, da die in einer Zeile sowieso gleich sind)inneren Vektors Sortieren sollte.</p>
<p>analog zum Beispiel bedeutet das:<br />
vorm sortieren zum Beispiel:<br />
`</p>
<p>2,b 2,b 2,b</p>
<p>1,b 1,b 1,b</p>
<p>3,b 3,b 3,b</p>
<p>`</p>
<p>sollte sirtiertwerden das die ausgabe nacher folgendes ergibt:</p>
<p>`</p>
<p>1,b 1,b 1,b</p>
<p>2,b 2,b 2,b</p>
<p>3,b 3,b 3,b</p>
<p>`</p>
<p>Ich hoffe ich habe mein Problem verständlich dargelegt.<br />
Vielen Dank für jeden Tipp oder Ansatz oder natürlich Lösung. ich probiere seit einer weile rum, scheitere aber kläglich drann <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>
]]></description><link>https://www.c-plusplus.net/forum/topic/258474/struct-in-verschachtelte-vectoren-sortieren</link><generator>RSS for Node</generator><lastBuildDate>Wed, 09 Sep 2026 04:56:59 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/258474.rss" rel="self" type="application/rss+xml"/><pubDate>Mon, 11 Jan 2010 03:16:12 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to struct in verschachtelte vectoren sortieren on Mon, 11 Jan 2010 03:16:12 GMT]]></title><description><![CDATA[<p>Hallo zusammen,</p>
<p>ich habe ein Problem mit verschachtelten Vektoren. Ich muss den Auseren Vektor nach einem Wert des Structs des inneren Vektors sortieren.<br />
Hört sich verwirrend an, deshalb hier mal ein codebeispiel:</p>
<pre><code>struct meinStruct
{
 int a; //bei allen Vektoren des &quot;inneren&quot; Vekrors der gleiche Wert
 int b; //bei alles Vektoren unterschiedlich
};

vect&lt; vect&lt; meinstruct &gt; &gt; meineDaten;
</code></pre>
<p>wenn man das nun ausgibt (ich beschränke mich mal auf pseudocode):</p>
<pre><code>for(Anfang bis Ende &quot;auserer&quot; Vektor)
{
 for(Anfang bis Ende &quot;innerer&quot; Vektor)
 {
  cout&lt;&lt;meineDaten[iterator ausen][iterator innen].a&lt;&lt;&quot;,&quot;;
  cout&lt;&lt;meineDaten[iterator ausen][iterator innen].b&lt;&lt;&quot; &quot;;
 }
 cout&lt;&lt;endl;
}
</code></pre>
<p>sollte das bei 3/3 ungefägr so aussehen:<br />
`</p>
<p>a,b a,b a,b</p>
<p>a,b a,b a,b</p>
<p>a,b a,b a,b</p>
<p>`<br />
Der Wert a hat dabei nun in jeder Zeile den gleichen wert (in diesem Beispiel 1, 2 oder 3)</p>
<p>Mein Problem ist nun das ich die auseren Vektoren nach dem a-wert eines (z.B. des ersten Vetors in einer Zeile, ia aberegal, da die in einer Zeile sowieso gleich sind)inneren Vektors Sortieren sollte.</p>
<p>analog zum Beispiel bedeutet das:<br />
vorm sortieren zum Beispiel:<br />
`</p>
<p>2,b 2,b 2,b</p>
<p>1,b 1,b 1,b</p>
<p>3,b 3,b 3,b</p>
<p>`</p>
<p>sollte sirtiertwerden das die ausgabe nacher folgendes ergibt:</p>
<p>`</p>
<p>1,b 1,b 1,b</p>
<p>2,b 2,b 2,b</p>
<p>3,b 3,b 3,b</p>
<p>`</p>
<p>Ich hoffe ich habe mein Problem verständlich dargelegt.<br />
Vielen Dank für jeden Tipp oder Ansatz oder natürlich Lösung. ich probiere seit einer weile rum, scheitere aber kläglich drann <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>
]]></description><link>https://www.c-plusplus.net/forum/post/1836593</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1836593</guid><dc:creator><![CDATA[braindoc]]></dc:creator><pubDate>Mon, 11 Jan 2010 03:16:12 GMT</pubDate></item><item><title><![CDATA[Reply to struct in verschachtelte vectoren sortieren on Mon, 11 Jan 2010 10:18:17 GMT]]></title><description><![CDATA[<p>In etwa so:<br />
- Sortierbedigung anpassen<br />
- geht eventuell auch by-reference die Methode, weiß es aber nicht aus dem Stehgreif.</p>
<pre><code class="language-cpp">#include &lt;algorithm&gt;

// ...

bool mySort(vector&lt;meinStruct&gt; a, vector&lt;meinStruct&gt; b){
  if (a.size() == 0) return false;
  if (b.size() == 0) return true;
  return a[0].a &lt; b[0].a;
}

// ...

vector&lt; vector&lt; meinStruct &gt; &gt; myVec;

// ...

std::sort(myVec.begin(), myVec.end(), mySort);
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1836682</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1836682</guid><dc:creator><![CDATA[Fellhuhn]]></dc:creator><pubDate>Mon, 11 Jan 2010 10:18:17 GMT</pubDate></item><item><title><![CDATA[Reply to struct in verschachtelte vectoren sortieren on Mon, 11 Jan 2010 11:10:00 GMT]]></title><description><![CDATA[<p>definier dir einen &gt; &lt; operator und du kannst auch standard sort funktionen benutzen</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1836697</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1836697</guid><dc:creator><![CDATA[dgrat^]]></dc:creator><pubDate>Mon, 11 Jan 2010 11:10:00 GMT</pubDate></item><item><title><![CDATA[Reply to struct in verschachtelte vectoren sortieren on Mon, 11 Jan 2010 11:17:07 GMT]]></title><description><![CDATA[<p>Ahh, es war das fehlende const woran er sich störte:</p>
<pre><code class="language-cpp">bool operator&lt;(const std::vector&lt;struc&gt; &amp;a, const std::vector&lt;struc&gt; &amp;b){
 //...
}

//..

std::sort(vec.begin(), vec.end());
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1836700</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1836700</guid><dc:creator><![CDATA[Fellhuhn]]></dc:creator><pubDate>Mon, 11 Jan 2010 11:17:07 GMT</pubDate></item><item><title><![CDATA[Reply to struct in verschachtelte vectoren sortieren on Tue, 12 Jan 2010 18:48:52 GMT]]></title><description><![CDATA[<p>Danke, das hört sich schonmal sehr gut an, werd ich sofort mal ausprobieren!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1837786</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1837786</guid><dc:creator><![CDATA[braindoc]]></dc:creator><pubDate>Tue, 12 Jan 2010 18:48:52 GMT</pubDate></item><item><title><![CDATA[Reply to struct in verschachtelte vectoren sortieren on Tue, 12 Jan 2010 19:24:49 GMT]]></title><description><![CDATA[<p>Eine Nachfrage hätte ich noch:<br />
Die kombination aus vektoren und Zeigern macht mir noch ziemliche Probleme.</p>
<p>wie kann ich denn den verschachtelten einen (mal wieder) verschachtelten Vektor an eine funktion übergeben, aber nicht so das die eine Kopie hat (by value, wenn ich mich richtig erinnere) sondern das die einen Zeiger auf den originalen Vektor hat. (müsste dann by reference sein)</p>
<pre><code>meineFunktion(?)
{
//bearbeite die Daten
}

void main()
{
vector&lt; vector&lt; meinstruct &gt; &gt; meineDaten;

meineFunktion(?)

}
</code></pre>
<p>die Fragezeichen sind mein Problem.</p>
<p>Veen Dank euch an euch (!), das hilft mir bei einer wichtigen Arbeit und mit meinem c++ Buch komme ich da nicht weiter ebenso liefern google &amp; co auch nur sehr ärmliche Ergebnisse.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1837816</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1837816</guid><dc:creator><![CDATA[braindoc]]></dc:creator><pubDate>Tue, 12 Jan 2010 19:24:49 GMT</pubDate></item><item><title><![CDATA[Reply to struct in verschachtelte vectoren sortieren on Tue, 12 Jan 2010 19:30:11 GMT]]></title><description><![CDATA[<p>Du kannst auch einen Zeiger auf einen <code>std::vector</code> haben.. Aber hier würden sich Referenzen anbieten. (auch zum Schutz vor 0 Zeigern)</p>
<pre><code class="language-cpp">meineFunktion( std::vector&lt;std::vector&lt; meinstruct&gt; &gt;&amp; daten)
{
//bearbeite die Daten
}

int main() // int main, nicht void main!
{
vector&lt; vector&lt; meinstruct &gt; &gt; meineDaten;

meineFunktion( meineDaten );

}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1837823</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1837823</guid><dc:creator><![CDATA[drakon]]></dc:creator><pubDate>Tue, 12 Jan 2010 19:30:11 GMT</pubDate></item><item><title><![CDATA[Reply to struct in verschachtelte vectoren sortieren on Tue, 12 Jan 2010 19:32:22 GMT]]></title><description><![CDATA[<p>Ich würde dir raten, bei komplexeren Typen wie diesem mit <code>typedef</code> zu arbeiten. Das verschafft dir eine Abstraktion vom konkreten Typ – wenn du nicht zu spezifische Operationen verwendest, kannst du den Container auch bei Bedarf auswechseln. Ausserdem erhältst du so aussagekräftige Bezeichner.</p>
<pre><code class="language-cpp">typedef std::vector&lt;std::vector&lt;MeinStruct&gt; &gt; Datentabelle;
</code></pre>
<p>Falls die Funktion das Argument nicht verändern soll, nimmst du Const-Referenzen oder Const-Zeiger. Zeiger musst du zusätzlich dereferenzieren (über <code>*</code> oder <code>-&gt;</code> ).</p>
<pre><code class="language-cpp">void meineFunktion(const Datentabelle* tabelle);
void meineFunktion(const Datentabelle&amp; tabelle);
</code></pre>
<p>Ansonsten lässt du das <code>const</code> weg.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1837825</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1837825</guid><dc:creator><![CDATA[Nexus]]></dc:creator><pubDate>Tue, 12 Jan 2010 19:32:22 GMT</pubDate></item><item><title><![CDATA[Reply to struct in verschachtelte vectoren sortieren on Tue, 12 Jan 2010 20:03:01 GMT]]></title><description><![CDATA[<p>Wahnsin... <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f62e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_with_open_mouth"
      title=":open_mouth:"
      alt="😮"
    /> super fixe Antworten! habt mich damit gerettet!<br />
vielen Dank an drakon, genau das meinte ich (auch wenn ich mich mit zeigern vl. fasch ausgedrückt habe)<br />
auch danke an Nexus, guter Tipp, ich blicke meinen eigenen quelltext langsam nichtmehr, da sollte es ein bisschen übersichtlicher machen...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1837841</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1837841</guid><dc:creator><![CDATA[braindoc]]></dc:creator><pubDate>Tue, 12 Jan 2010 20:03:01 GMT</pubDate></item><item><title><![CDATA[Reply to struct in verschachtelte vectoren sortieren on Wed, 13 Jan 2010 14:39:47 GMT]]></title><description><![CDATA[<p>Nexus schrieb:</p>
<blockquote>
<p>Ausserdem erhältst du so aussagekräftige Bezeichner. [...] Datentabelle;</p>
</blockquote>
<p>Wobei &quot;Datentabelle&quot; wohl etwas zu generisch ist. Erinnert mich an die tolle Antwort eines Studis damals auf die Frage des Profs was seine Klasse denn macht: &quot;Na, Daten verarbeiten...&quot;. <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f603.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--grinning_face_with_big_eyes"
      title=":D"
      alt="😃"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1838195</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1838195</guid><dc:creator><![CDATA[Fellhuhn]]></dc:creator><pubDate>Wed, 13 Jan 2010 14:39:47 GMT</pubDate></item><item><title><![CDATA[Reply to struct in verschachtelte vectoren sortieren on Wed, 13 Jan 2010 20:44:54 GMT]]></title><description><![CDATA[<p>Fellhuhn schrieb:</p>
<blockquote>
<p>Wobei &quot;Datentabelle&quot; wohl etwas zu generisch ist.</p>
</blockquote>
<p>Ich habe mir hier wirklich überlegt, ob ich noch einen Kommentar hinsetzen sollte à la &quot;hier was Sinnvolles wählen&quot;. Ich bin dann davon ausgegangen, dass braindoc den Schritt zu seinem Projekt schon noch selbst bewerkstelligen kann. <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>
<p>Ich meine, auf <code>meineDaten</code> und <code>meinStruct</code> trifft dies ja gleichermassen zu. <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f642.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--slightly_smiling_face"
      title=":)"
      alt="🙂"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1838442</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1838442</guid><dc:creator><![CDATA[Nexus]]></dc:creator><pubDate>Wed, 13 Jan 2010 20:44:54 GMT</pubDate></item><item><title><![CDATA[Reply to struct in verschachtelte vectoren sortieren on Wed, 13 Jan 2010 20:53:11 GMT]]></title><description><![CDATA[<p>Hier wäre es angebracht über eine dynamische Reflectionmatrix einen Binarystream einzubinden um somit die Targets und zusätzlich eine nebenläufige Fallbacksicherung zu erreichen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1838445</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1838445</guid><dc:creator><![CDATA[ProConsultant]]></dc:creator><pubDate>Wed, 13 Jan 2010 20:53:11 GMT</pubDate></item></channel></rss>