Bubble
Sort
Array at beginning: | 84 | 69 | 76 | 86 | 94 | 91 |
After Pass #1: | 84 | 76 | 86 | 94 | 91 | 69 |
After Pass #2: | 84 | 86 | 94 | 91 | 76 | 69 |
After Pass #3: | 86 | 94 | 91 | 84 | 76 | 69 |
After Pass #4: | 94 | 91 | 86 | 84 | 76 | 69 |
After Pass #5 (done): | 94 | 91 | 86 | 84 | 76 | 69 |
void BubbleSort(apvector <int> &num)
{
int i, j, flag = 1; // set flag to 1 to start first pass
int temp; // holding variable
int numLength = num.length( );
for(i = 1; (i <= numLength) && flag; i++)
{
flag = 0;
for (j=0; j < (numLength -1); j++)
{
if (num[j+1] > num[j]) // ascending order simply changes to <
{
temp = num[j]; // swap elements
num[j] = num[j+1];
num[j+1] = temp;
flag = 1; // indicates that a swap occurred.
}
}
}
return; //arrays are passed to functions by address; nothing is returned
}
0 comments:
Post a Comment