Выбор сортировки - показать каждый промежуточный массив - PullRequest
0 голосов
/ 27 апреля 2011

Опишите выбор сортировки и сортируйте массив [7, 4, 8, 2, 9, 1] вместе с ним (в порядке возрастания), показывая каждый промежуточный массив, в котором выбран новый элемент. Для каждого промежуточного массива укажите, какая часть массива отсортирована. Также укажите, сколько сравнений и сколько назначений переменных необходимо для каждого промежуточного массива.

Мой ответ: [7, 4, 8, 2, 9, 1]

7, 4, 8, 2, 1, 9 (1-й проход) 7, 4, 1, 2, 8, 9 (2 проход) 2, 4, 1, 7, 8, 9 (3-й проход) 2, 1, 4, 7, 8, 9 (4 проход) 1, 2, 4, 7, 8, 9 (5 проход)

Что я делаю, так это нахожу наибольшее число в массиве и выбрасываю его в конец массива.

Пожалуйста, не могли бы вы сказать мне, как, где я ошибся, так как я чувствую, что этот ответ не полный.

Приветствие.

1 Ответ

0 голосов
/ 27 апреля 2011

Хорошо, вы отсортировали массив в порядке, но вы забыли о "Для каждого промежуточного массива укажите, какая часть массива отсортирована. Также укажите, сколько сравнений и сколько назначений переменных необходимо в сумме для каждого промежуточного массива. . "

Например, первый проход:

промежуточный массив: [7,4,8,2,1,9]

отсортированная часть: a [5: 5] = [9]

требуется сравнение: 5 (сравните 4 и 7, 8 и 7, 2 и 8, 1 и 8, 8 и 9)

назначения переменных: 4 (макс .: = 7, макс .: = 8, макс: = 9, last_position: = макс)

и продолжить для следующих проходов.

Вы не дали точного определения того, что означает число назначений и сравнений, поэтому я просто использовал критерий, который звучал разумно. Просто убедитесь, что используете то, что действительно указано в вашем задании - если оно говорит что-то другое, не ожидайте, что ваш ответ будет соответствовать моему.

...