- Глупая сортировка
-
Эта статья или раздел нуждается в переработке. Пожалуйста, улучшите статью в соответствии с правилами написания статей.Глупая сортировка (англ. Stupid sort) — простой алгоритм сортировки. Для понимания и реализации этот алгоритм — простейший, но эффективен он лишь для небольших массивов. Сложность алгоритма: .
Содержание
Алгоритм
Имеет нечто общее с сортировкой пузырьком: идёт поиск от начала массива, текущий элемент сравнивается со следующим, если следующий меньше, то производится обмен и возврат в начало цикла.
Примеры реализации
Псевдокод
stupidSort(array){ i := 0 while (i < length(array) - 1) if (array[i + 1] < array[i]) then { swap(array[i], array[i + 1]) i := 0 } else i := i + 1 }
Код на С
// A - сортируемый массив, n - количество элементов void stupidSort(int *A, int n) { int i = 0, tmp; while (i < n - 1) { if (A[i+1] < A[i]) { tmp = A[i]; A[i] = A[i+1]; A[i+1] = tmp; i = 0; } else i++; } }
Код на PHP
function stupidSort(&$Array) { $i = 0; $n = count($Array); while ($i < $n - 1) { if ($Array[$i+1] < $Array[$i]) { list($Array[$i], $Array[$i+1]) = array($Array[$i+1], $Array[$i]); $i = 0; } else $i++; } }
Код на Python
def stupidSort(data): i = 0 n = len(data) - 1 while i < n: if data[i+1] < data[i]: data[i], data[i+1] = data[i+1], data[i] i = 0 else: i += 1 return data
Код на Java
public Comparable[] stupidSort(Comparable[] data) { int i = 0; int n = data.length - 1; Comparable temp; while (i < n) { if (data[i+1].compareTo(data[i]) < 0) { temp = data[i + 1]; data[i + 1] = data[i]; data[i] = temp; i = 0; } else { i++; } } return data; }
Код на Perl
@out=(4,8,9,6,3,2,5,7,1,5,4,7,89,3,2,5,64,5,4,2,5,8,8); while($i<$#out+1){ if($out[$i+1]lt$out[$i]){ ($out[$i],$out[$i+1],$i)=($out[$i+1],$out[$i],0); }else{ ++$i; } }
Код на Javascript
Array.prototype.stupidSort = function (f) { f = f || function (x, y) { return x - y; }; var t = this, i = 0, n = t.length - 1; while (i < n) { if (f(t[i + 1], t[i]) > 0) { var a = t[i] t[i] = t[i + 1]; t[i + 1] = a; i = 0; } else { i++; } } }
Для улучшения этой статьи желательно?: - Найти и оформить в виде сносок ссылки на авторитетные источники, подтверждающие написанное.
Алгоритмы сортировки Теория Сложность • О-нотация • Отношение порядка • Типы сортировки: Устойчивая • Внутренняя • Внешняя
Алгоритмы Обменные: Пузырьком • Перемешиванием • Гномья • Быстрая • Расчёской • Выбором: Выбором • Пирамидальная • Вставками: Вставками • Шелла • Деревом • Слиянием: Слиянием • Без дополнительной памяти • Без сравнений: Подсчётом • Поразрядная • Блочная • Гибридные: Introsort • Timsort • Прочее: Топологическая • Сети • Непрактичные: Bogosort • Stooge sort • Глупая • Блинная
Категория:- Алгоритмы сортировки
Wikimedia Foundation. 2010.