Повторяем вышеуказанные действия для части массива, начиная с 1 позиции до N-2 (шаг 3), а потом для диапазона 1..N-3 и так далее до диапазона 1..2.
После завершения последнего шага наш массив будет отсортирован по возрастанию.
/******************************************************************
Процедура для сортировки массива методом пузырька
Входные параметры:
Arr - сортируемый массив.
Нумерация элементов от 0 до N-1
N - размер массива
Выходные параметры:
Arr - массив, упорядоченный по возрастанию.
Нумерация элементов от 0 до N-1
******************************************************************
void bubblesort(ap::real_1d_array& arr, const int& n)
{
int i;
int j;
double tmp;
for(i = 0; i < n; i++)
for(j = 0; j < n-1-i; j++)
if( arr[j]>arr[j+1] )
{
tmp = arr[j];
arr[j] = arr[j+1];
arr[j+1] = tmp;
}
}