vojta249

basic_sorts

Nov 2nd, 2023
563
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.44 KB | None | 0 0
  1. def bubble_sort(l: list) -> None:
  2.     for i in range(len(l)):
  3.         for j in range(len(l)):
  4.             if l[j] > l[i]:
  5.                 temp = l[i]
  6.                 l[i] = l[j]
  7.                 l[j] = temp
  8.     return(l)
  9.  
  10. ef insert_sort(l: list) -> None:
  11.     for i in range(1, len(l)):
  12.         temp = l[i]
  13.         j = i-1
  14.         while (j >= 0 and l[j] > temp):
  15.             l[j+1] = l[j]
  16.             j-=1
  17.         l[j+1] = temp
  18.     return (l)
  19.  
  20. def select_sort(l: list) -> None:
  21.     for i in range(len(l)):
  22.         minimum = i
  23.         for j in range(i, len(l)):
  24.             if l[minimum] > l[j]:
  25.                 minimum = j
  26.         temp = l[i]
  27.         l[i] = l[minimum]
  28.         l[minimum] = temp
  29.     return(l)
  30.  
  31. def counting_sort(l: list, lower: int, upper: int) -> None:
  32.     counter = []
  33.     result =  []
  34.     if lower < 0:
  35.         lower = -lower
  36.         lower_minus = 1
  37.     for i in range(len(l)):
  38.         l[i] += lower
  39.     if lower_minus == 1:
  40.         for i in range(lower + upper + 1):
  41.             counter.append(0)
  42.     else:
  43.         for i in range(upper - lower + 1):
  44.             counter.append(0)
  45.     for i in range(len(l)):
  46.         counter[l[i]] += 1
  47.     for i in range(lower + upper + 1):
  48.         if counter [i] > 0:
  49.             for k in range(counter[i]):
  50.                 if lower_minus == 1:
  51.                     result.append(i-lower)
  52.                 else:
  53.                     result.append(i+lower)
  54.     return result
Advertisement
Add Comment
Please, Sign In to add comment