2010-10-04 2 views

ответ

3

Первый список действительно выбор сортировки. Это по сути то же самое, что и алгоритм на предоставляемой вами ссылке. Но вместо того, чтобы найти элемент, который имеет минимальное значение, и заменяя его arr[i] один раз после цикла j, первый код немедленно свопит arr[i] с любым значением, с которым он сталкивается, который меньше.

В обоих случаях, в конце цикла i, arr[i] будет содержать наименьший элемент в диапазоне i+1..SIZE.

Существует два отличия между двумя алгоритмами: приведенный здесь код выполняет более одной свопинга на итерацию и перетасовывает данные, которые еще не отсортированы (это не так важно, поскольку они в конечном итоге будут отсортированы) , Таким образом, в основном это менее эффективно, чем код, который вы связали.

4
+0

Размещение действия «Обмен» отличается. Не так ли? И он не находит значение min перед свопом. Тогда как это может быть сортировка выбора? – anonymous

+0

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

+0

@JMSA, он полностью находит элемент min перед заменой. Я действительно не вижу большой разницы между кодами. –

2

Это своего рода Выбор Сортировка (как Maciej Hehl уже сказал), но очень неэффективно. Вы меняете много раз. Эффект заключается в том, что вы меняете минимальную сумму, но по пути туда меняются друг с другом, что меньше, чем число, на которое вы смотрите. В этом нет необходимости.

0

Возможно, мне не хватает чего-то тонкого, но первая ссылка (lorenzod8n.wordpress.com) показывает вид пузыря; второй (cprogramminglanguage.net) выбор. Он даже так говорит в тексте.

Редактировать: я пропустил/забыл что-то тонкое: Bubble Sort меняет соседние записи; алгоритм в первой ссылке отсутствует. Следовательно, это не Bubble Sort, хотя у него есть чрезмерное поведение Swapping от Bubble Sort.

+0

Если это сортировка пузырьков, сравнивается ли соседние элементы? – anonymous

Смежные вопросы