14 марта 2010 в 15:57
Сортировка методом пузырька 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). При каждой итерации внутреннего цикла к концу проталкивается самый большой элемент из оставшихся.
Данная функция может работать только с массивами из восьми элементов.
комментарии отсутствуют
авторизуйтесь