import random import time import os # Setup the data burger_char = "šŸ”" burgers = [burger_char * i for i in range(1, 21)] random.shuffle(burgers) def draw_frame(current_list, active_idx=-1, label="Processing"): """Clears the screen and prints the current state of the burgers.""" os.system('cls' if os.name == 'nt' else 'clear') print(f"--- šŸ” {label.upper()} šŸ” ---\n") for i, b in enumerate(current_list): if i == active_idx: print(f"{b} <--- {label}") else: print(b) time.sleep(0.5) # Slower delay so you can see the two distinct frames # Insertion Sort Algorithm for i in range(1, len(burgers)): key_burger = burgers[i] # FRAME 1: Show the row it is being taken FROM draw_frame(burgers, i, "Taking from here") j = i - 1 # Find the correct position while j >= 0 and len(key_burger) < len(burgers[j]): burgers[j + 1] = burgers[j] j -= 1 burgers[j + 1] = key_burger # FRAME 2: Show the row it has been moved TO draw_frame(burgers, j + 1, "Moved to here") # Final display draw_frame(burgers, label="Orders Sorted") print("\nāœ… All burgers are sorted")