Sorting Algorithms

Bubble Sort

def bubble_sort(a):
    length = len(a)
    for i in range(0, length):
        for j in range(0, i):
            if a[i] < a[j]:
                a[i], a[j] = a[j], a[i]

Selection Sort

def selection_sort(a):
    length = len(a)
    for i in range(length):
        min_idx = i
        for j in range(i, length):
            if a[j] < a[min_idx]:
                min_idx = j
        a[min_idx], a[i] = a[i], a[min_idx]

Insertion Sort

def insertion_sort(a):
    length = len(a)
    for i in range(1, length):
        key = a[i]
        j = i - 1
        while a[j] > key and j >= 0:
            a[j + 1] = a[j]
            j -= 1
        a[j + 1] = key

Merge Sort

Quick Sort

Heap Sort

Last updated

Was this helpful?