Advertisement
tnkv

Untitled

May 23rd, 2022
57
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.08 KB | None | 0 0
  1. from time import time
  2. from random import randint as ri
  3.  
  4. testlist = []
  5.  
  6. for i in range(1000):
  7. testlist.append(ri(1,10000))
  8.  
  9. def puzirk(lst):
  10. start = time()
  11. for i in range(len(lst)):
  12. for j in range(len(lst)-i-1):
  13. if lst[j] > lst[j+1]:
  14. lst[j], lst[j+1] = lst[j+1], lst[j]
  15. end = time()
  16. return end - start
  17.  
  18. def smng(lst):
  19. start = time()
  20. b = []
  21. a = []
  22. for i in range(max(testlist)):
  23. a.append(0)
  24. for i in lst:
  25. a[i-1] += 1
  26. k = 1
  27. for i in a:
  28. for j in range(i):
  29. b.append(k)
  30. k += 1
  31. end = time()
  32. return end - start
  33.  
  34. def porazrad(lst):
  35. start = time()
  36. length = len(str(max(lst)))
  37. for i in range(length):
  38. B = [[] for k in range(10)]
  39. for x in lst:
  40. figure = x // 10**i % 10
  41. B[figure].append(x)
  42. lst = []
  43. for k in range(10):
  44. lst += B[k]
  45. end = time()
  46. return end - start
  47.  
  48. print(puzirk(testlist), smng(testlist), porazrad(testlist), sep='\n')
  49.  
  50.  
  51.  
  52.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement