Выбор сортировки, подсчет количества свопов - PullRequest
0 голосов
/ 20 ноября 2011

http://www.cs.pitt.edu/~kirk/cs1501/animations/Sort1.html этот апплет считает правильно? Выбор сортировки для 5 4 3 2 1, я вижу 2 перестановки, но апплет считает 4 обмена ....

1 Ответ

0 голосов
/ 20 ноября 2011

Я думаю, это вопрос определения. Он делает своп в конце каждого цикла, даже если он меняет один элемент на себя. В его случае свопы будут:

  • Оригинал: 5 4 3 2 1
  • Поменять позиции 1 и 5: 1 4 3 2 5
  • Поменять позиции 2 и 4: 1 2 3 4 5
  • Поменять позиции 3 и 3: 1 2 3 4 5
  • Поменять позиции 4 и 4: 1 2 3 4 5

(для последнего элемента перестановка не выполняется, поскольку он всегда будет в правильном месте)

Простой оператор if можно использовать для устранения двух последних перестановок.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...