Insertion Sort

Ordenación Par Impar(lista)

ordenado = false

while (no ordenado)

lista intercambios

hacer en paralelo:

intercambios[0] = SwapCondicional(lista, 0)

intercambios[2] = SwapCondicional(lista, 2)

(con todas las posiciones pares)

hacer en paralelo:

intercambios[1] = SwapCondicional(lista, 1)

intercambios[3] = SwapCondicional(lista, 3)

(con todas las posiciones impares)

if ( todosFalse(intercambios) )

ordenado = true

SwapCondicional(lista, i)

if (lista[i] > lista[i+1])

intercambia (lista[i], lista[i+1])

return true

return false