I’m trying to sort an array made of random numbers from 1 to 10 in an ascending order. I’ve come up with this function:
void Sort(int a[10], int n)
{
int j = 0;
for (int i = 0; i < n-1; i++)
{
j = i+1;
if (a[i] > a[j])
{
int aux = a[i];
a[i] = a[j];
a[j] = aux;
}
}
}
But when I try to output the array, the function doesn’t seem to have worked:
Sort(array, 10);
cout<<endl;
for (int i = 0; i < 10; i++)
{
cout<<array[i]<<" ";
}
The algorithm in your
Sortfunction is wrong. It doesn’t sort at all.Anyway, don’t reinvent the wheel, better use
std::sortas:As for your
Sortfunction, which you want to implement using bubble-sort algorithm, possibly for learning purpose. the correct implementation is this: