<?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[Rekusive iterieren?]]></title><description><![CDATA[<p>Habe eine Liste, welche 1000 elemente enthält! jedes Element enthält den abstand(m_dDuration) zum davorliegen, zudem noch einen Zeiger auf das davorliegende Element (siehe Code);</p>
<p>habe nur 2 Varianten um den abstand bis zum 500 Element der Liste zu berechnen, einmal iterieren und einmal rekursive. Hat die Rekusive variante nachteile Stackgröße technisch?</p>
<pre><code class="language-cpp">struct TEST{

	double m_dDuration;
	TEST* Prev;

	double Time(){
		if(Prev==NULL)
			return 0;
		else
			return Prev-&gt;Time()+m_dDuration;
	}
};	

std::list&lt;TEST&gt; LISTE;
	TEST *p;

	for(int i=0; i&lt;1000; i++){

		TEST o;

		if(LISTE.empty()){
			o.m_dDuration=0;
			o.Prev=NULL;
		}
		else{
			o.m_dDuration=10;
			o.Prev= &amp;LISTE.back();
		}
		LISTE.push_back(o);

		if(i== 500)
			p= &amp;LISTE.back();
	}

        // VARIANE A (4 sekunden)
	for(int l=0; l&lt; 10000; l++){
		double d=0;	
		for(std::list&lt;TEST&gt;::iterator it = LISTE.begin(); it != LISTE.end(); d+= it-&gt;m_dDuration,it++)
			if(d== 5000) break;
	}

         //VARIANTE B (368millisekunden=
	for(int l=0; l&lt; 10000; l++)
		double erg= p-&gt;Time();
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/topic/194927/rekusive-iterieren</link><generator>RSS for Node</generator><lastBuildDate>Tue, 29 Sep 2026 18:35:10 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/194927.rss" rel="self" type="application/rss+xml"/><pubDate>Fri, 12 Oct 2007 06:57:52 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Rekusive iterieren? on Fri, 12 Oct 2007 06:57:52 GMT]]></title><description><![CDATA[<p>Habe eine Liste, welche 1000 elemente enthält! jedes Element enthält den abstand(m_dDuration) zum davorliegen, zudem noch einen Zeiger auf das davorliegende Element (siehe Code);</p>
<p>habe nur 2 Varianten um den abstand bis zum 500 Element der Liste zu berechnen, einmal iterieren und einmal rekursive. Hat die Rekusive variante nachteile Stackgröße technisch?</p>
<pre><code class="language-cpp">struct TEST{

	double m_dDuration;
	TEST* Prev;

	double Time(){
		if(Prev==NULL)
			return 0;
		else
			return Prev-&gt;Time()+m_dDuration;
	}
};	

std::list&lt;TEST&gt; LISTE;
	TEST *p;

	for(int i=0; i&lt;1000; i++){

		TEST o;

		if(LISTE.empty()){
			o.m_dDuration=0;
			o.Prev=NULL;
		}
		else{
			o.m_dDuration=10;
			o.Prev= &amp;LISTE.back();
		}
		LISTE.push_back(o);

		if(i== 500)
			p= &amp;LISTE.back();
	}

        // VARIANE A (4 sekunden)
	for(int l=0; l&lt; 10000; l++){
		double d=0;	
		for(std::list&lt;TEST&gt;::iterator it = LISTE.begin(); it != LISTE.end(); d+= it-&gt;m_dDuration,it++)
			if(d== 5000) break;
	}

         //VARIANTE B (368millisekunden=
	for(int l=0; l&lt; 10000; l++)
		double erg= p-&gt;Time();
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1383374</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1383374</guid><dc:creator><![CDATA[BorisDieKlinge]]></dc:creator><pubDate>Fri, 12 Oct 2007 06:57:52 GMT</pubDate></item><item><title><![CDATA[Reply to Rekusive iterieren? on Fri, 12 Oct 2007 07:56:00 GMT]]></title><description><![CDATA[<p><a href="https://www.google.de/search?&amp;q=rekursion%20stack" rel="nofollow">Google: rekursion stack</a> schaut doch schon mal interessant aus</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1383428</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1383428</guid><dc:creator><![CDATA[Eine Pizza]]></dc:creator><pubDate>Fri, 12 Oct 2007 07:56:00 GMT</pubDate></item><item><title><![CDATA[Reply to Rekusive iterieren? on Fri, 12 Oct 2007 14:32:25 GMT]]></title><description><![CDATA[<blockquote>
<pre><code class="language-cpp">double d=0;
...
if(d== 5000) break;
</code></pre>
</blockquote>
<p>Ist dein Indianischer-Name &quot;Der mit dem Feuer spielt&quot;?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1383831</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1383831</guid><dc:creator><![CDATA[hustbaer]]></dc:creator><pubDate>Fri, 12 Oct 2007 14:32:25 GMT</pubDate></item><item><title><![CDATA[Reply to Rekusive iterieren? on Fri, 12 Oct 2007 14:36:45 GMT]]></title><description><![CDATA[<p>hustbaer schrieb:</p>
<blockquote>
<blockquote>
<pre><code class="language-cpp">double d=0;
...
if(d== 5000) break;
</code></pre>
</blockquote>
<p>Ist dein Indianischer-Name &quot;Der mit dem Feuer spielt&quot;?</p>
</blockquote>
<p>rofl <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/1383835</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1383835</guid><dc:creator><![CDATA[get_sry]]></dc:creator><pubDate>Fri, 12 Oct 2007 14:36:45 GMT</pubDate></item></channel></rss>