Сортировка выбором

  • docx
  • 27.11.2021
Публикация на сайте для учителей

Публикация педагогических разработок

Бесплатное участие. Свидетельство автора сразу.
Мгновенные 10 документов в портфолио.

Иконка файла материала Л2-003010.docx

 Сортировка выбором

Сортировка выбором имеет квадратичную сложность O(n2) и, как и предыдущий метод пузырька, эффективен лишь на небольших объемах данных.

Алгоритм находит номер минимального значения в текущем спис- ке, меняет этот элемент со значением первой неотсортированной пози- ции (если минимальный элемент не находится на данной позиции), а за- тем сортирует хвост списка, исключив из рассмотрения уже отсортиро- ванные элементы:

 

// Сортировка выбором

void SelectionSort(ref int[] Array)

{

// Перебираем все элементы массива (безпоследнего)

// i – позиция первого неотсортированного элемента for (int i = 0; i < Array.Length – 1; i++)

{

// Позиция минимального элемента справа от i int min = i;

// Перебираем все элементы справа от i

for (int j = i + 1; j < Array.Length; j++)

// Меньше ли очередной элемент минимального? if (Array[j] < Array[min])

// Да – теперь это минимальный элемент min = j;

// Минимальный элемент не первый?

// Меняем местами! if (min != i)

{

int t = Array[i]; Array[i] = Array[min]; Array[min] = t;

}

}

}