You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
De functie:<br />
void bubble( int a [ ] , int n)<br />
{<br />
}<br />
int i , j ;<br />
int x ;<br />
for ( i =2; i=i ; j −−)<br />
{<br />
}<br />
if ( a [ j −1] > a [ j ] )<br />
{<br />
}<br />
x = a [ j −1]; a [ j −1] = a [ j ] ; a [ j ] = x ;<br />
Een verdeel-en-heers techniek<br />
Het principe: verdeel de verzameling objecten in twee delen en sorteer deze<br />
twee delen onafhankelijk van elkaar.<br />
Quicksort ( a, l, r)<br />
{<br />
indien meerdere elementen in {al, . . ., ar}<br />
{<br />
verdeel {al, . . .,ar} in een links en een rechts deel;<br />
(gebruik makend van een pivot element)<br />
Quicksort het linkse deel;<br />
Quicksort het rechtse deel;<br />
}<br />
}<br />
De verdeling moet gebeuren zodat<br />
+ het pivot element ai bevindt zich op zijn uiteindelijke plaats i;<br />
+ al de elementen in {al, . . .,ai−1} zijn kleiner dan of gelijk aan ai;<br />
+ al de elementen in {ai+1, . . .,ar} zijn groter dan of gelijk aan ai.<br />
Voorbeeld:<br />
l<br />
De functie:<br />
(l+r)<br />
2<br />
r<br />
1 4 8 44 55 12 42 94 18 6 67<br />
1 2 3 6 18 12 42 94 55 44 67<br />
1 1 2 6 12 18 42 94 55 44 67<br />
5 6 8 6 12 18 42 94 55 44 67<br />
7 7 8 6 12 18 42 44 55 94 67<br />
6 12 18 42 44 55 67 94<br />
void quicksort ( int a [ ] , int l , int r )<br />
{<br />
int i , j ;<br />
int x , w;<br />
i = l ;<br />
j = r ;<br />
x = a [ ( l+r )/2 ] ;<br />
do<br />
{<br />
while ( a [ i ] < x )<br />
i++ ;<br />
while ( a [ j ] > x )<br />
j−− ;<br />
if ( i