1. I have coded the bubble sort but i cannot sort it in ascending order.
Below is my code:
Code:
#include<iostream>
using std::cout;
using std::cin;
void bubbleSort(int [], int);
// ------------------------------------------
int main(int argc, char *argv[])
{
int sequence[5] = { 5, 3 , 4, 2, 1};
bubbleSort(sequence, 5);
return 0;
}
// ------------------------------------------
void bubbleSort(int sequence[], int size)
{
int inner_loop, outer_loop, temp;
for (outer_loop=0;outer_loop<size;++outer_loop)
{
for (inner_loop=1;inner_loop<size;++inner_loop)
{
if (sequence[outer_loop] > sequence[inner_loop])
{
temp = sequence[outer_loop];
sequence[outer_loop] = sequence[inner_loop];
sequence[inner_loop] = temp;
}
}
}
for (inner_loop=0;inner_loop<size;++inner_loop)
{
cout << "The array[" << inner_loop
<< "] : " << sequence[inner_loop] << "\n";
}
}
Code:
#include<iostream>
using std::cout;
using std::cin;
void bubbleSort(int [], int);
// ------------------------------------------
int main(int argc, char *argv[])
{
int sequence[5] = { 5, 3 , 4, 2, 1};
bubbleSort(sequence, 5);
return 0;
}
// ------------------------------------------
void bubbleSort(int sequence[], int size)
{
int inner_loop, outer_loop, temp;
for (inner_loop=4;inner_loop>=0;inner_loop--)
{
for (outer_loop=1;outer_loop<size;++outer_loop)
{
if (sequence[outer_loop - 1] > sequence[outer_loop])
{
temp = sequence[outer_loop - 1];
sequence[outer_loop - 1] = sequence[outer_loop];
sequence[outer_loop] = temp;
}
}
}
for (inner_loop=0;inner_loop<size;++inner_loop)
{
cout << "The array[" << inner_loop
<< "] : " << sequence[inner_loop] << "\n";
}
}
2. Can u explain to me the heap sort algorithm ? What is siftdown ?
Thanks for your help.
Your help is greatly appreciated by me and others.

