Уроки C++
Сортировка Выбором C++Это один из самых простых видов сортировок. Рассмотрим немного подробней алгоритм его действия. Предположим нам нужно отсортировать массив, как часто это бывает, по возрастанию. У нас есть массив из 10 элементов. Вовремя первого прохода по массиву программа находит самый минимальный элемент и ставит эго на первое место. Далее массив “прочёсывается” ещё раз, так же находится минимальный элемент и ставиться на 2-ое место, и так далее, пока массив не будет полностью отсортирован. Минус такой сортировки в том, что массив каждый раз проверяется заново, соответственно увеличивается время сортировки, но это будет ощущаться, если массив состоит из нескольких сотен тысяч элементов. Для наглядного примера – отсортируем по возрастанию одномерный массив. Вот код данной сортировки:
#include "stdafx.h" #include "iostream" #include "time.h" #include "iomanip" using namespace std; void ChoicesSort(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"; ChoicesSort(mas, n);   // вызываем функцию сортировки Выбором cout << "Отсортированный массив: " << endl; for (int i = 0; i < n; i++) { cout << mas[i] << " ";   // Вывод на экран отсортированного массива } cout << "\n"; system("PAUSE"); return 0; } void ChoicesSort(int* Perestanovka, int length)   // сортировка Выбором { for (int j = 0; j < length; j++)   { int temp = Perestanovka[0];   // временная переменная, храненящая значения перестановки for (int z = j + 1; z < length; z++)     { if (Perestanovka[j] > Perestanovka[z])       { temp = Perestanovka[j]; Perestanovka[j] = Perestanovka[z]; Perestanovka[z] = temp;       }     }   } }
Результат: << К списку сортировок