Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
к теме 5 - Сортировка и поиск.doc
Скачиваний:
0
Добавлен:
18.11.2019
Размер:
247.81 Кб
Скачать

C. Пример сортировки обменом

Дано: Последовательность элементов М={1, 11, 2, 12, 3, 14, 4, 15}; n=8.

Выполняем сортировку обменом по вышеописанной схеме:

Обходы

М

Комментарий

Первый обход

1, 11, 2, 12, 3, 14, 4, 15

Сравниваем M[1]=1 и M[2]=11,

11, 1, 2, 12, 3, 14, 4, 15

M[1]<M[2] – меняем их местами

11, 1, 2, 12, 3, 14, 4, 15

Сравниваем M[2]=1 и M[3]=2,

11, 2, 1, 12, 3, 14, 4, 15

M[2]<M[3] – меняем их местами

11, 2, 1, 12, 3, 14, 4, 15

Сравниваем M[3]=1 и M[4]=12,

11, 2, 12, 1, 3, 14, 4, 15

M[3]<M[4] – меняем их местами

11, 2, 12, 1, 3, 14, 4, 15

Сравниваем M[4]=1 и M[5]=3,

11, 2, 12, 3, 1, 14, 4, 15

M[4]<M[5] – меняем их местами

11, 2, 12, 3, 1, 14, 4, 15

Сравниваем M[5]=1 и M[6]=14,

11, 2, 12, 3, 14, 1, 4, 15

M[5]<M[6] – меняем их местами

11, 2, 12, 3, 14, 1, 4, 15

Сравниваем M[6]=1 и M[7]=4,

11, 2, 12, 3, 14, 4, 1, 15

M[6]<M[7] – меняем их местами

11, 2, 12, 3, 14, 4, 1, 15

Сравниваем M[7]=1 и M[8]=4,

11, 2, 12, 3, 14, 4, 15, 1

M[7]<M[8] – меняем их местами

Результат 1:

11, 2, 12, 3, 14, 4, 15, 1

11, 2, 12, 3, 14, 4, 15, 1

Сравниваем M[1]=11 и M[2]=1,

11, 2, 12, 3, 14, 4, 15, 1

M[1]>M[2] обмена нет

11, 2, 12, 3, 14, 4, 15, 1

Сравниваем M[2]=2 и M[3]=12,

11, 12, 2, 3, 14, 4, 15, 1

M[2]<M[3] – меняем их местами

11, 12, 2, 3, 14, 4, 15, 1

Сравниваем M[3]=2 и M[4]=3,

11, 12, 3, 2, 14, 4, 15, 1

M[3]<M[4] – меняем их местами

11, 12, 3, 2, 14, 4, 15, 1

Сравниваем M[4]=2 и M[5]=14,

11, 12, 3, 14, 2, 4, 15, 1

M[4]<M[5] – меняем их местами

11, 12, 3, 14, 2, 4, 15, 1

Сравниваем M[5]=2 и M[6]=4,

11, 12, 3, 14, 4, 2, 15, 1

M[5]<M[6] – меняем их местами

11, 12, 3, 14, 4, 2, 15, 1

Сравниваем M[6]=2 и M[7]=15,

11, 12, 3, 14, 4, 15, 2, 1

M[6]<M[7] – меняем их местами

Результат 2:

11, 12, 3, 14, 4, 15, 2, 1

Второй обход

11, 12, 3, 14, 4, 15, 2, 1

Сравниваем M[1]=11 и M[2]=12,

12, 11, 3, 14, 4, 15, 2, 1

M[1]>M[2] меняем местами

12, 11, 3, 14, 4, 15, 2, 1

Сравниваем M[2]=11 и M[3]=3,

12, 11, 3, 14, 4, 15, 2, 1

M[2]<M[3] – обмена нет

12, 11, 3, 14, 4, 15, 2, 1

Сравниваем M[3]=3 и M[4]=14,

12, 11, 14, 3, 4, 15, 2, 1

M[3]<M[4] – меняем их местами

12, 11, 14, 3, 4, 15, 2, 1

Сравниваем M[4]=3 и M[5]=4,

12, 11, 14, 4, 3, 15, 2, 1

M[4]<M[5] – меняем их местами

12, 11, 14, 4, 3, 15, 2, 1

Сравниваем M[5]=3 и M[6]=15,

12, 11, 14, 4, 15, 3, 2, 1

M[5]<M[6] – меняем их местами

Результат3:

12, 11, 14, 4, 15, 3, 2, 1

Третий обход

12, 11, 14, 4, 15, 3, 2, 1

Сравниваем M[1]=12 и M[2]=11,

12, 11, 14, 4, 15, 3, 2, 1

M[1]>M[2] обмена нет

12, 11, 14, 4, 15, 3, 2, 1

Сравниваем M[2]=11 и M[3]=14,

12, 14, 11, 4, 15, 3, 2, 1

M[2]<M[3] – меняем их местами

12, 14, 11, 4, 15, 3, 2, 1

Сравниваем M[3]=11 и M[4]=4,

12, 14, 11, 4, 15, 3, 2, 1

M[3]>M[4] – обмена нет

12, 14, 11, 4, 15, 3, 2, 1

Сравниваем M[4]=15 и M[5]=4,

12, 14, 11, 15, 4, 3, 2, 1

M[4]<M[5] – меняем их местами

Результат4:

12, 14, 11, 15, 4, 3, 2, 1

Четвертый обход

12, 14, 11, 15, 4, 3, 2, 1

Сравниваем M[1]=12 и M[2]=14,

14, 12, 11, 15, 4, 3, 2, 1

M[1]<M[2] меняем их местами

14, 12, 11, 15, 4, 3, 2, 1

Сравниваем M[2]=12 и M[3]=11,

14, 12, 11, 15, 4, 3, 2, 1

M[2]<M[3] – меняем их местами

14, 12, 11, 15, 4, 3, 2, 1

Сравниваем M[3]=11 и M[4]=15,

14, 12, 15, 11, 4, 3, 2, 1

M[3]>M[4] – меняем их местами

Результат 4:

14, 12, 15, 11, 4, 3, 2, 1

Пятый обход

14, 12, 15, 11, 4, 3, 2, 1

Сравниваем M[1]=14 и M[2]=12,

14, 12, 15, 11, 4, 3, 2, 1

M[1]>M[2] – обмена нет

14, 12, 15, 11, 4, 3, 2, 1

Сравниваем M[2]=12 и M[3]=15,

14, 15, 12, 11, 4, 3, 2, 1

M[2]<M[3] – меняем их местами

Реультат 5

14, 15, 12, 11, 4, 3, 2, 1

Шестой обход

14, 15, 12, 11, 4, 3, 2, 1

Сравниваем M[1]=14 и M[2]=15,

15, 14, 12, 11, 4, 3, 2, 1

M[1]<M[2] – меняем их местами

15, 14, 12, 11, 4, 3, 2, 1

Сравниваем M[2]=14 и M[3]=12,

15, 14, 12, 11, 4, 3, 2, 1

M[2]>M[3] – обмена нет

Результат 6

15, 14, 12, 11, 4, 3, 2, 1

Седьмой обход

15, 14, 12, 11, 4, 3, 2, 1

Сравниваем M[1]=15 и M[2]=14,

15, 14, 12, 11, 4, 3, 2, 1

M[1]>M[2] – обмена нет

Окончательный результат:

15, 14, 12, 11, 4, 3, 2, 1

Последовательность упорядочена