Чи вирішити судоку занадто важко? Навіть жорстока версія? Ось вправа на кодування, яка трохи простіше. Я сподіваюсь. :-P
Напишіть найкоротшу функцію для реалізації богосорту. Зокрема, ваша функція повинна:
- Візьміть масив (або його еквівалент) як вхідний
- Перевірте, чи впорядковані її елементи; якщо так, поверніть масив
- Якщо ні, перемістіть елементи та почніть знову
Виграє найкоротший запис. У випадку зв'язання надається перевагу функції, яка підтримує користувацький компаратор (та / або генератор псевдовипадкових чисел). Будь-які інші зв'язки вирішуються на користь попереднього подання.
Уточнення: Ви можете використовувати будь-який тип елементів, який хочете, якщо, звичайно, є якийсь спосіб їх замовити. Також перемішування повинно бути рівномірним; нічого з цього "я просто заскочую це і називаю перетасованим" бізнесом. :-)