Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- # sortowanie zwariowane (Bogo Sort)
- from random import *
- from time import *
- # utworz 'ziarno' do tworzenia losowej listy
- seed()
- # utworz pusta liste elementow
- x = []
- # utworz losowa liste elementow o wielkosci N
- for i in range(0, 1000):
- x.append(randint(0, 10000))
- # funkcja sprawdzająca, czy dane są posortowane
- def posortowane(x):
- i = 0
- j = len(x)
- while i + 1 < j:
- if x[i] > x[i + 1]:
- return False
- i += 1
- return True
- def bogo(x):
- # tak dlugo, jak dane nie sa posortowane, dokonuj przetasowania wartosci
- while not posortowane(x):
- shuffle(x)
- return x
- def stupidsort(x):
- n = len(x)-1 # indeks ostatniego elementu
- while True:
- i = 0
- while True:
- if x[i] > x[i+1]:
- temp = x[i+1]
- x[i+1] = x[i]
- x[i] = temp
- break
- i = i + 1
- if i == n:
- return x # lista jest posortowana
- def bubblesort(x):
- n = len(x)-1 # indeks ostatniego elementu
- for j in range(0, n):
- for i in range(0, n):
- if x[i] > x[i+1]:
- x[i], x[i+1] = x[i+1], x[i]
- return x
- def selectionsort(x):
- n = len(x)-1 # indeks ostatniego elementu
- for j in range(0, n):
- pmin = j
- for i in range(j+1, n):
- if x[i] < x[pmin]:
- pmin = i
- x[pmin], x[j] = x[j], x[pmin]
- return x
- start = time()
- print("Wylosowana lista: ")
- print(x)
- x = selectionsort(x)
- print("Lista posortowana: ")
- print(x)
- czas = time() - start
- print(str(czas) + " seconds")
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement