Сортировка методом пузырька c++

Сортировка методом пузырька - самый простой алгоритм сортировки. Правда, и самый медленный.

Сортировка - это размещение информации в определённом порядке. Например, элементы массива можно разместить по возрастанию, тогда в начале массива окажется наименьшее значение, а в конце - наибольшее.

Сортировка методом пузырька работает следующим образом: в итерации цикла берётся самый первый элемент и сравнивается со следующим. Если первый элемент больше, то элементы меняются местами. Затем происходит сравнение второго с третьим и т.д. После первой итерации цикла в конце оказывается самый большой элемент. После второй итерации на предпоследней позиции оказывается второй по величине элемент. Всего в цикле необходимо произвести на одну итерацию меньше количества элементов в массиве.

void BubbleSort (int* a)
{
	  int top = 8;
	  while (top != 0)
	  {
		    for (int i = 0; i < top; i++)
		    {
			      if (a[i] > a[i+1])
			      {
					int temp;
					temp = a[i];
					a[i] = a[i+1];
					a[i+1] = temp;
			      }
		    }
		    top--;
	  }
}

int arr[9] = { 3, 7, 8, 6, 4, 1, 9, 5, 2};
BubbleSort(arr);

for (int i = 0; i < 9; i++)
{
 	cout << arr[i] << ", ";
}

Вывод будет следующим:

1, 2, 3, 4, 5, 6, 7, 8, 9,

При сортировке методом пузырька используется два цикла. При каждой итерации внешнего цикла количество сравниваемых элементов уменьшается (переменная top). При каждой итерации внутреннего цикла к концу проталкивается самый большой элемент из оставшихся.

Данная функция может работать только с массивами из восьми элементов.