Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
4_4 Сортировки.doc
Скачиваний:
42
Добавлен:
09.02.2015
Размер:
133.12 Кб
Скачать

Метод прямого выбора (сортировки посредством выбора) и его модификации

Все описываемые далее методы следует рассматривать как частные варианты метода, известного под названием метод прямого выбораилисортировка посредством выбора. Общим для этих методов является нахождение (выбор) максимальных или минимальных элементов массива и размещение их в последовательных ячейках массива.

Метод поиска минимального элемента

Суть этого метода (имея в виду выбранные ограничения для рассматриваемого нами числового примера) состоит в следующем.

На первом шаге отыскивается и сохраняется в переменной, например, Xmin минимальное число среди всех чисел массива и его индекс, сохраняемый в другой переменной, например, Imin, а затем проводится обмен местами в массиве найденного минимального числа с первым элементом массива: X[Imin]:=X[1]; X[1]:=Xmin;.

В нашем примере, минимальное число Xmin=15 находится в ячейке Imin=3, и перестановка первого и минимального чисел приведёт к следующему результату

Х1

Х2

Х3

Х4

Х5

Х6

15

21

34

18

25

40

В общем случае, на любом шаге i, i=1, 2, 3, …, n-1, отыскивается Xmin - минимальное число среди ячеек массива с индексами от i до n и его индекс Imin, а затем проводится обмен местами в массиве найденного минимального числа с i-тым элементом массива: X[Imin]:=X[i]; X[i]:=Xmin;.

В нашем примере

- при i=2 получим Xmin=18 и Imin=4, и после перестановки

Х1

Х2

Х3

Х4

Х5

Х6

15

18

34

21

25

40

- при i=3 получим Xmin=21 и Imin=4, и после перестановки

Х1

Х2

Х3

Х4

Х5

Х6

15

18

21

34

25

40

- при i=4 получим Xmin=25 и Imin=5, и после перестановки

Х1

Х2

Х3

Х4

Х5

Х6

15

18

21

25

34

40

- при i=5 получим Xmin=34 и Imin=5, и после перестановки

Х1

Х2

Х3

Х4

Х5

Х6

15

18

21

25

34

40

Таким образом, внешний цикл должен выполняться n-1 раз, а число выполнений внутреннего цикла будет уменьшаться от n-1 до 1. Чтобы упорядочить массив по убыванию, следует первое найденное минимальное число обменять местами с последним, второе – с предпоследним и так далее.

Метод поиска максимального элемента

Этот метод отличается от предыдущего только тем, что отыскиваются максимальные элементы. При одинаковой организации циклов при реализации этих методов они дадут прямо противоположные результаты: если один приведёт к возрастанию чисел в массиве, то другой – убыванию, и наоборот.

Метод поиска индекса минимального элемента

Этот метод отличается от метод поиска минимального элемента и его индекса тем, что внутренний цикл используется для поиска только индекса минимального элемента, поэтому перестановки чисел в массиве на каждом шаге i, i=1, 2, …,n-1 придется выполнять с привлечением дополнительной переменной, например, R: R:=X[i]; X[i]:=X[Imin]; X[Imin]:=R;.

Метод поиска индекса максимального элемента

Этот метод отличается от предыдущего только тем, что отыскиваются индекс максимального элемента. При одинаковой организации циклов при реализации этих методов они дадут прямо противоположные результаты: если один приведёт к возрастанию чисел в массиве, то другой – убыванию, и наоборот.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]