2 - Preparación para programar en Python

Antes de escribir Bubble, Insertion o Selection Sort necesitamos definir una base común en Python: cómo representaremos listas, qué funciones auxiliares reusaremos y de qué manera organizar el proyecto para ejecutar rápido.

2.1 Representación de listas en Python

Una lista en Python puede contener enteros y crecer o reducirse sin reservar memoria manualmente. Para esta serie usaremos enteros:

datos = [5, 2, 9, 1, 3]
cantidad = len(datos)

El tamaño lógico (cantidad) es clave: los algoritmos necesitan saber hasta dónde iterar, aunque la lista se modifique en el proceso.

2.2 Parámetros de función para listas

En Python las listas se pasan por referencia a la función. Podemos recibir la lista y su longitud para mantener consistencia con el pseudocódigo:

def bubble_sort(valores, n):
  # Implementación del algoritmo
  pass

# Llamado
bubble_sort(datos, cantidad)

En las próximas lecciones veremos implementaciones completas usando este esquema.

2.3 Función auxiliar swap()

Intercambiar dos posiciones es una operación repetitiva en los tres algoritmos. Centralizarla mantiene el código claro:

def swap(valores, i, j):
  valores[i], valores[j] = valores[j], valores[i]

Este helper evita errores y deja el algoritmo más legible.

2.4 Impresión de listas para pruebas

Ver el antes y el después de cada ordenamiento nos ayuda a validar la lógica. Una función ligera de impresión:

def imprimir_lista(valores):
  for valor in valores:
    print(valor, end=", ")

Esta rutina no modifica los datos y sirve para todos los algoritmos del tutorial.

2.5 Proyecto en Python: archivo único

En este tutorial iremos colocando cada algoritmo dentro de un solo archivo, con los datos de prueba y la impresión del resultado en el mismo script. Así evitamos saltos entre módulos y mantenemos el foco en comprender la lógica del ordenamiento.