Лабораторный практикум по информатике



бет66/83
Дата06.01.2022
өлшемі1,1 Mb.
#15674
түріПрактикум
1   ...   62   63   64   65   66   67   68   69   ...   83

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


Сортировка выбором имеет квадратичную сложность 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;



}

}

}




    1. Достарыңызбен бөлісу:
1   ...   62   63   64   65   66   67   68   69   ...   83




©emirsaba.org 2024
әкімшілігінің қараңыз

    Басты бет