Пузырьковая сортировка массива в С++
Сортировка - классика жанра. А пузырьковая сортировка, самая известная сортировка и самая медленная. Но студентам она нравится, потому что писать сортировку легко. Идея метода сортировки в обмене местами двух неупорядоченных элементов.
В качестве иллюстрации методов работы с одномерными массивами рассмотрим задачу о сортировке элементов массива. Существует несколько алгоритмов такой сортировки. В данном случае используем метод пузырь ка. Метод состоит в следующем. Каждый элемент массива сравнивается с соседним» и если первый из сравниваемых элементов больше второго, эти элементы меняются местами. После однократного перебора всех элементов самый большой элемент оказывается последним в массиве. Еще раз перебрав элементы массива (последний можно не трогать - он и так самый большой), на предпоследнее место перемещаем второй но величине элемент и так далее. Продолжая эту процедуру необходимое количество раз, добиваемся ситуации, когда элементы массива размещены в порядке возрастания. Данный алгоритм реализован в программе, код которой приведен в листинге.
#includeusing namespace std; int main(){ const int m=10; int MyArray[m]; int i,j,s; cout << "Before:\n"; // Исходный массив: for(i=0; i < m; i++){ MyArray[i]=rand() % 20; cout << MyArray[i] << " ";} // Сортировка массива: for(j=1; j <= (m-1); j++) for(i=0; i < m-j; i++) if(MyArray[i] > MyArray[i+1]){ s=MyArray[i+1]; MyArray[i+1]=MyArray[i]; MyArray[i]=s; } cout << "\nAfter:\n"; // Массив после сортировки: for(i=0; i < m; i++) cout << MyArray[i] << " "; cout << "\n"; return 0; }