<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>blog.seric.at &#187; Bubblesort</title>
	<atom:link href="http://blog.seric.at/tag/bubblesort/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.seric.at</link>
	<description>photography programming politics life</description>
	<lastBuildDate>Tue, 10 Jan 2012 22:01:27 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.4-alpha-19719</generator>
		<item>
		<title>Sortieren einer Liste mit C++</title>
		<link>http://blog.seric.at/2008/03/12/sortieren-einer-liste-mit-cpp/</link>
		<comments>http://blog.seric.at/2008/03/12/sortieren-einer-liste-mit-cpp/#comments</comments>
		<pubDate>Wed, 12 Mar 2008 22:59:00 +0000</pubDate>
		<dc:creator>Franziskus Domig</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[Algorithmus]]></category>
		<category><![CDATA[Bubblesort]]></category>
		<category><![CDATA[C]]></category>
		<category><![CDATA[Liste]]></category>

		<guid isPermaLink="false">http://seric.at/blog/?p=33</guid>
		<description><![CDATA[Um eine (einfach) verkettete Liste mit C++ zu Sortieren gibt es unterschiedliche Ansätze. Ich habe die letzte Woche in einer Aufgabe im Rahmen meiner Algorithmik Vorlesung folgende Sortierungsfunktion implementiert, welche das Prinzip von Bubblesort verwendet.

Für die verkettete Liste habe ...]]></description>
			<content:encoded><![CDATA[<p>Um eine (einfach) verkettete Liste mit C++ zu Sortieren gibt es unterschiedliche Ansätze. Ich habe die letzte Woche in einer Aufgabe im Rahmen meiner Algorithmik Vorlesung folgende Sortierungsfunktion implementiert, welche das Prinzip von <a title="Bubblesort - Wikipedia" href="http://de.wikipedia.org/wiki/Bubblesort">Bubblesort</a> verwendet.<br />
<span id="more-33"></span><br />
Für die verkettete Liste habe ich folgende Struktur verwendet:</p>

<div class="wp_syntax"><div class="code"><pre class="cpp"><span class="kw4">struct</span> Node <span class="br0">&#123;</span>
	<span class="kw4">int</span> value<span class="sy4">;</span>
	Node<span class="sy2">*</span> pNext<span class="sy4">;</span>
<span class="br0">&#125;</span></pre></div></div>

<p><script type="text/javascript"><!--
google_ad_client = "pub-7188468985735362";
/* 468x60, Erstellt 28.02.10 */
google_ad_slot = "7225146616";
google_ad_width = 468;
google_ad_height = 60;
//-->
</script>
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script></p>
<p>Die Funktion zum Sortieren der Liste sieht wie folgt aus. Als Parameter wird die Referenz auf den Pointer welcher auf den Anfang der Liste zeigt übergeben.</p>

<div class="wp_syntax"><div class="code"><pre class="cpp"><span class="kw4">void</span> sortList<span class="br0">&#40;</span>Node<span class="sy2">*</span><span class="sy3">&amp;</span> pHead<span class="br0">&#41;</span> <span class="br0">&#123;</span>
&nbsp;
	Node<span class="sy2">*</span> pA <span class="sy1">=</span> <span class="kw2">NULL</span><span class="sy4">;</span>
	Node<span class="sy2">*</span> pB <span class="sy1">=</span> <span class="kw2">NULL</span><span class="sy4">;</span>
	Node<span class="sy2">*</span> pC <span class="sy1">=</span> <span class="kw2">NULL</span><span class="sy4">;</span>
	Node<span class="sy2">*</span> pE <span class="sy1">=</span> <span class="kw2">NULL</span><span class="sy4">;</span>
	Node<span class="sy2">*</span> pTmp <span class="sy1">=</span> <span class="kw2">NULL</span><span class="sy4">;</span>
&nbsp;
	<span class="kw1">while</span> <span class="br0">&#40;</span>pE <span class="sy3">!</span><span class="sy1">=</span> pHead<span class="sy2">-</span><span class="sy1">&gt;</span>pNext<span class="br0">&#41;</span> <span class="br0">&#123;</span>
&nbsp;
		pC <span class="sy1">=</span> pHead<span class="sy4">;</span>
		pA <span class="sy1">=</span> pHead<span class="sy4">;</span>
		pB <span class="sy1">=</span> pA<span class="sy2">-</span><span class="sy1">&gt;</span>pNext<span class="sy4">;</span>
&nbsp;
		<span class="kw1">while</span> <span class="br0">&#40;</span>pA <span class="sy3">!</span><span class="sy1">=</span> pE<span class="br0">&#41;</span> <span class="br0">&#123;</span>
			<span class="kw1">if</span> <span class="br0">&#40;</span>pA<span class="sy2">-</span><span class="sy1">&gt;</span>value <span class="sy1">&gt;</span> pB<span class="sy2">-</span><span class="sy1">&gt;</span>value<span class="br0">&#41;</span> <span class="br0">&#123;</span>
				<span class="kw1">if</span> <span class="br0">&#40;</span>pA <span class="sy1">==</span> pHead<span class="br0">&#41;</span> <span class="br0">&#123;</span>
					pTmp <span class="sy1">=</span> pB<span class="sy2">-</span><span class="sy1">&gt;</span>pNext<span class="sy4">;</span>
					pB<span class="sy2">-</span><span class="sy1">&gt;</span>pNext <span class="sy1">=</span> pA<span class="sy4">;</span>
					pA<span class="sy2">-</span><span class="sy1">&gt;</span>pNext <span class="sy1">=</span> pTmp<span class="sy4">;</span>
					pHead <span class="sy1">=</span> pB<span class="sy4">;</span>
					pC <span class="sy1">=</span> pB<span class="sy4">;</span>
				<span class="br0">&#125;</span> <span class="kw1">else</span> <span class="br0">&#123;</span>
					pTmp <span class="sy1">=</span> pB<span class="sy2">-</span><span class="sy1">&gt;</span>pNext<span class="sy4">;</span>
					pB<span class="sy2">-</span><span class="sy1">&gt;</span>pNext <span class="sy1">=</span> pA<span class="sy4">;</span>
					pA<span class="sy2">-</span><span class="sy1">&gt;</span>pNext <span class="sy1">=</span> pTmp<span class="sy4">;</span>
					pC<span class="sy2">-</span><span class="sy1">&gt;</span>pNext <span class="sy1">=</span> pB<span class="sy4">;</span>
					pC <span class="sy1">=</span> pB<span class="sy4">;</span>
				<span class="br0">&#125;</span>
			<span class="br0">&#125;</span> <span class="kw1">else</span> <span class="br0">&#123;</span>
				pC <span class="sy1">=</span> pA<span class="sy4">;</span>
				pA <span class="sy1">=</span> pA<span class="sy2">-</span><span class="sy1">&gt;</span>pNext<span class="sy4">;</span>
			<span class="br0">&#125;</span>
			pB <span class="sy1">=</span> pA<span class="sy2">-</span><span class="sy1">&gt;</span>pNext<span class="sy4">;</span>
			<span class="kw1">if</span> <span class="br0">&#40;</span>pB <span class="sy1">==</span> pE<span class="br0">&#41;</span>
				pE <span class="sy1">=</span> pA<span class="sy4">;</span>
		<span class="br0">&#125;</span>
	<span class="br0">&#125;</span>
<span class="br0">&#125;</span></pre></div></div>

<div class="gpo_bottomcontainer">
						<div class="gpo_buttons">
						        <g:plusone href="http://blog.seric.at/2008/03/12/sortieren-einer-liste-mit-cpp/" size="standard" count="true"></g:plusone>
						</div>
			   </div>
			   <div style="clear:both"></div><p class="wp-flattr-button"></p> <p><a href="http://blog.seric.at/?flattrss_redirect&amp;id=33&amp;md5=2d652f662fdbfc2ba27ef037b4e56056" title="Flattr" target="_blank"><img src="http://blog.seric.at/wp-content/plugins/flattr/img/flattr-badge-large.png" alt="flattr this!"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://blog.seric.at/2008/03/12/sortieren-einer-liste-mit-cpp/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>

