Уроки C++
Сортировка Пузырьком C++У сортировки “Пузырьком” самый наглядный и простой алгоритм, но однако это не делает её эффективной. Можно сказать больше – она самая долгая из всех видов сортировок. Но для начинающего программиста это очень наглядный и простой учебный пример, что бы начать её понимать. За каждый проход массива программой сравниваются два соседних элемента начиная с первого и если элемент меньше (или больше) он меняется местами с соседним. После второго прохода 2-ой элемент сравнивается с 3-им. После третьего прохода 3-й элемент сравнивается с 4-ым и д.т. После того как массив полностью пройден, начинается следующий попарный проход и так пока все элементы не окажутся расположены по возрастанию (или убыванию). Вот код данной сортировки:
#include "stdafx.h" #include "iostream" #include "time.h" #include "iomanip" #include "algorithm" using namespace std; void BubbleSortt(int *, int);   // объявление функции сортировки int main() { setlocale(LC_ALL, "Russian"); int n; // Количество элементов массива cout << "Введите размер массива: "; cin >> n; cout << endl; cout << "Массив: " << endl; int *mas = new int [n]; srand(time(NULL)); for (int i = 0; i < n; i++) { mas[i] = rand() % 200 - 100;   // заполняем массив случайными числами cout << mas[i] << " ";   // выводим массив на экран } cout << "\n\n"; BubbleSort(mas, n); // вызываем функцию сортировки Вставками cout << "Отсортированный массив: " << endl; for (int i = 0; i < n; i++) { cout << mas[i] << " ";   // Вывод на экран отсортированного массива } cout << "\n\n"; system("PAUSE"); return 0; } void BubbleSort(int* sort_el, int length)   // сортировка пузырьком { int temp = 0;   // временная переменная, хранящая элемент массива bool exit = false;   // болевая переменная для выхода из цикла, если массив отсортирован while (!exit)   { exit = true; for (int k = 0; k < (length - 1); k++) if (sort_el[k] > sort_el[k + 1])     { temp = sort_el[k]; sort_el[k] = sort_el[k + 1]; sort_el[k + 1] = temp; exit = false;     }   } }
Результат: << К списку сортировок