Bogosort/kod
Z Wikiźródeł, repozytorium wolnych materiałów źródłowych
[edytuj] Java
public void bogoSort(int[] n) { Random random = new Random(); mainloop: do { for (int i = 0; i < n.length; i++) { if(i == n.length-1) { break mainloop; } if (n[i] > n[i+1]) { break; } } for (int i = n.length - 1; i > 0; i--) { int swapPosition = random.nextInt(i + 1); int temp = n[i]; n[i] = n[swapPosition]; n[swapPosition] = temp; } } while (true); }
[edytuj] Python
from random import shuffle from itertools import izip, tee def in_order(my_list): """Check if my_list is ordered""" it1, it2 = tee(my_list) it2.next() return all(a<=b for a,b in izip(it1, it2)) def bogo_sort(my_list): """Bogo-sorts my_list in place.""" while not in_order(my_list): shuffle(my_list)
Udziela się zgody na kopiowanie, dystrybucję i/lub modyfikację tego tekstu na warunkach licencji GNU Free Documentation License w wersji 1.2 lub nowszej, opublikowanej przez Free Software Foundation.
Kopia tekstu licencji umieszczona została pod hasłem GFDL. Dostepne jest również jej polskie tłumaczenie.