Сортировка выбором (реализация на C++)

C++   12 февраля 2012  Автор статьи:  

Приведем пример реализации алгоритма сортировки выбором. На вход алгоритму подается массив чисел типа int, заданный своим размером и элементами. В результате работы алгоритм выводит отсортированный массив. Заметим, что приведенная реализация алгоритма является устойчивой, т.е. она не меняет относительный порядок элементов с одинаковыми значениями.


#include
using namespace std;

int main()
{
// Считываем размер массива,
// который необходимо отсортировать
int size;
cin >> size;

// Динамически выделяем память под
// хранение массива размера size
int *a = new int[size];

// Считываем массив
for (int i = 0; i < size; i++) { cin >> a[i];
}

for (int i = 0; i < size; i++) { // Найдем минимальный элемент на // промежутке индексов [i; size); // изначально его индекс равен i int minValueIndex = i; // Переберем оставшиеся элементы промежутка for (int j = i + 1; j < size; j++) { // Если элемент в позиции j меньше // элемента в позиции minValueIndex, то // необходимо обновить значение индекса if (a[j] < a[minValueIndex]) { minValueIndex = j; } } // Меняем текущий элемент с минимальным swap (a[i], a[minValueIndex]); } // Выводим отсортированный массив for (int i = 0; i < size; i++) { cout << a[i] << ' '; } return 0; }

Научиться программировать

  • на Delphi

  • на Java

  • на C++