Skip to content

Instantly share code, notes, and snippets.

View robbie01's full-sized avatar
🗿
bruh

Robbie robbie01

🗿
bruh
View GitHub Profile
@robbie01
robbie01 / timsort.py
Created December 30, 2016 05:44
Timsort implemented in Python 3
if __name__ == '__main__':
from sys import argv
from random import shuffle
list = list(range(int(argv[1])))
list.sort() # ;)
print(all(list[i] <= list[i+1] for i in range(len(list)-1)))
# seriously though timsort is really weird
@robbie01
robbie01 / selectionsort.py
Last active December 31, 2016 04:43
Selection sort implemented in Python 3
def selectionsort(list):
n = []
while len(list) > 1:
n.append(list.pop(list.index(min(list))))
return n
if __name__ == '__main__':
from sys import argv
from random import shuffle
@robbie01
robbie01 / quicksort.py
Created December 30, 2016 05:41
Quicksort implemented in Python 3
from random import randrange
def qsort(list):
if len(list) > 1:
pivot = list.pop(randrange(0, len(list)))
a = qsort([i for i in list if i < pivot])
b = qsort([i for i in list if i >= pivot])
return a + [pivot] + b
else:
return list
@robbie01
robbie01 / bubblesort.py
Last active January 1, 2017 01:03
Bubble sort implemented in Python 3
def bubblesort(list):
swapped = True
while swapped:
swapped = False
for p in range(len(list)-1):
if list[p] > list[p+1]:
list[p] = list[p] ^ list[p+1]
list[p+1] = list[p] ^ list[p+1]
list[p] = list[p] ^ list[p+1]
swapped = True
@robbie01
robbie01 / mergesort.py
Last active December 30, 2016 02:28
Merge sort implemented in Python 3
def mergesort(c):
if len(c) > 1:
pivot = len(c)//2
a = c[:pivot]
b = c[pivot:]
mergesort(a)
mergesort(b)
ap = 0
bp = 0
cp = 0