Sorting algorithm visualization

  1. Booble sort

Booble sort

Description of Booble sort - the simplest, but not very effective sorting algorithm visualized using AlVi

Booble sort is perhaps the simplest sorting algorithm ever. It repeatly iterates through an array of elements, compares each pair of adjencet elements and swaps them if they are not in the right order. Algorithm ends if going though the whole array doesn't swap any elements.

import alvi
client = alvi.connect()

array = client.create_array()
array.generate_data("random", 20)

changed = True
right_marker = array.create_marker("right", array.size()-1)
right = array.size()
array.stats.comparisons = 0
while changed:
    changed = False
    for j in range(1, right):
        item_a = array[j]
        item_b = array[j - 1]
        if item_a < item_b:
            array[j], array[j-1] = array[j-1], array[j]
            changed = True
        array.stats.comparisons += 1
    right -= 1