ClavinJune

sorting.py

Sep 5th, 2018
155
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 0.84 KB | None | 0 0
  1. from random import randint
  2. from time import time
  3. from sys import argv
  4.  
  5. def counting_sort(arr: list) -> list:
  6.   start = time()
  7.   count = [0] * (max(arr)+1)
  8.   result = []
  9.   for i in arr:
  10.     count[i] += 1
  11.  
  12.   for i in range(max(arr)+1):
  13.     result += [i] * count[i]
  14.   return result, time()-start
  15.  
  16. def bubble_sort(arr: list) -> list:
  17.   start = time()
  18.   for i in range(len(arr)):
  19.     for j in range(i, len(arr)):
  20.       if arr[i] > arr[j]:
  21.         arr[i], arr[j] = arr[j],arr[i]
  22.   return arr, time()-start
  23.  
  24. if __name__ == '__main__':
  25.   arg = int(argv[1])
  26.   arr = []
  27.  
  28.   for i in range(arg):
  29.     arr.append(randint(0,arg))
  30.  
  31.   bubble, time = bubble_sort(arr)
  32.   print('bubble: {}'.format(time))
  33.  
  34.   bubble = counting_sort(arr)
  35.   print('counting: {}'.format(time))
  36.  
  37.   start = time()
  38.   arr.sort()
  39.   print('tim: {}'.format(time() - start))
Add Comment
Please, Sign In to add comment