Advertisement
Szczepan86

Bogo Sort

Oct 13th, 2018
119
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 0.80 KB | None | 0 0
  1. # sortowanie zwariowane (Bogo Sort)
  2.  
  3. from random import *
  4. from time import *
  5.  
  6. # utworz 'ziarno' do tworzenia losowej listy
  7. seed()
  8.  
  9. # utworz pusta liste elementow
  10. x = []
  11.  
  12. # utworz losowa liste elementow o wielkosci N
  13. for i in range(0, 10):
  14.     x.append(randint(0, 100))
  15.  
  16. # funkcja sprawdzająca, czy dane są posortowane
  17. def posortowane(x):
  18.     i = 0
  19.     j = len(x)
  20.     while i + 1 < j:
  21.         if x[i] > x[i + 1]:
  22.             return False
  23.         i += 1
  24.     return True
  25.  
  26. def bogo(x):
  27.     # tak dlugo, jak dane nie sa posortowane, dokonuj przetasowania wartosci
  28.     while not posortowane(x):
  29.         shuffle(x)
  30.     return x
  31.  
  32.  
  33. start = time()
  34. print("Wylosowana lista: ")
  35. print(x)
  36. x = bogo(x)
  37. print("Lista posortowana: ")
  38. print(x)
  39. czas = time() - start
  40. print(str(czas) + " seconds")
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement