Последующие шаги сортировки методом пузырька

Повторяем вышеуказанные действия для части массива, начиная с 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;

}

 

}