<?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[rekursive Funktion vektor-elemente mischen]]></title><description><![CDATA[<p>so, bin endgültig verwirrt, hab hier eine Funktion die die Elemente eines vektors zufällig durchmischen soll, die für mich keinen Sinn ergibt aber irgendwie trotzdem einen zufällig durchmischten Vektor erzeugt, kann mir wer sagen wieso?</p>
<p>void random_shuffle(vector&lt;int&gt; &amp;v) {</p>
<p>if (v.size() &gt; 2) {<br />
int x(get_random_number(1, v.size()));<br />
int y(v[0]);<br />
v[0] = v[x];<br />
<div class="plugin-markdown"><input type="checkbox" id="checkbox25288" checked="true" /><label for="checkbox25288">= y;</label></div><br />
vector&lt;int&gt; vi;<br />
for (int i(1); i &lt; v.size(); ++i) {<br />
vi.push_back(v[i]);<br />
}<br />
random_shuffle(vi);<br />
}<br />
}</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/337815/rekursive-funktion-vektor-elemente-mischen</link><generator>RSS for Node</generator><lastBuildDate>Fri, 17 Apr 2026 18:09:16 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/337815.rss" rel="self" type="application/rss+xml"/><pubDate>Sat, 30 Apr 2016 22:34:31 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to rekursive Funktion vektor-elemente mischen on Sat, 30 Apr 2016 22:34:31 GMT]]></title><description><![CDATA[<p>so, bin endgültig verwirrt, hab hier eine Funktion die die Elemente eines vektors zufällig durchmischen soll, die für mich keinen Sinn ergibt aber irgendwie trotzdem einen zufällig durchmischten Vektor erzeugt, kann mir wer sagen wieso?</p>
<p>void random_shuffle(vector&lt;int&gt; &amp;v) {</p>
<p>if (v.size() &gt; 2) {<br />
int x(get_random_number(1, v.size()));<br />
int y(v[0]);<br />
v[0] = v[x];<br />
<div class="plugin-markdown"><input type="checkbox" id="checkbox25288" checked="true" /><label for="checkbox25288">= y;</label></div><br />
vector&lt;int&gt; vi;<br />
for (int i(1); i &lt; v.size(); ++i) {<br />
vi.push_back(v[i]);<br />
}<br />
random_shuffle(vi);<br />
}<br />
}</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2494633</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2494633</guid><dc:creator><![CDATA[Xända]]></dc:creator><pubDate>Sat, 30 Apr 2016 22:34:31 GMT</pubDate></item><item><title><![CDATA[Reply to rekursive Funktion vektor-elemente mischen on Sat, 30 Apr 2016 22:59:39 GMT]]></title><description><![CDATA[<p>Ein bisschen zusammengefasst, damit man erkennen kann, was passiert.</p>
<pre><code class="language-cpp">void random_shuffle(vector&lt;int&gt; &amp;v) {

    using std::swap;
    if (v.size() &gt; 2) {
        swap(v[0], v[get_random_number(1, v.size())]);
        vector&lt;int&gt; vi(begin(v)+1, end(v));
        random_shuffle(vi);
    }
}
</code></pre>
<p>Die Funktion ändert gelegentlich den Ausgangsvektor, aber Mischen ist was anderes.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2494634</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2494634</guid><dc:creator><![CDATA[camper]]></dc:creator><pubDate>Sat, 30 Apr 2016 22:59:39 GMT</pubDate></item></channel></rss>