Descarga la aplicación para disfrutar aún más
Vista previa del material en texto
Estructuras de Datos I Ordenamientos Iterativos Selección [Select Sort] Iterativo Basado en intercambios Diferencial variado Consiste en encontrar el menor de todos los elementos del vector e intercambiarlo con el que está en la primera posición. Luego el segundo mas pequeño, y así sucesivamente hasta ordenarlo todo. 54 43 1 73 44 Selección [Select Sort] 54 43 1 73 44 Selección [Select Sort] 54 43 1 73 44 Selección [Select Sort] 54 43 1 73 44 Selección [Select Sort] 54 43 1 73 44 Selección [Select Sort] 54 43 1 73 44 Selección [Select Sort] 54 43 1 73 44 Selección [Select Sort] 54 43 1 73 44 Selección [Select Sort] 54 43 1 73 44 Selección [Select Sort] 54 43 1 73 44 Selección [Select Sort] 54 43 1 73 44 Selección [Select Sort] 54 43 1 73 44 Selección [Select Sort] 54 43 1 73 44 Selección [Select Sort] 54 43 1 73 44 Selección [Select Sort] 54 43 1 73 44 Selección [Select Sort] Selección [Select Sort] Implementación Función: SelectSort Recibe: datos[ ], ultInd Regresa: nada i = 0 mientras i < ultInd menor = i J = i + 1 mientras J <= ultInd ¿datos[J] < datos[menor]? Si: medio = J J = J + 1 fin mientras ¿menor != i? Si: intercambiar datos[i] por datos[menor] i = i + 1 fin mientras Selección [Select Sort] Función: SelectSort Recibe: datos[ ], ultInd Regresa: nada i = 0 mientras i < ultInd menor = i J = i + 1 mientras J <= ultInd ¿datos[J] < datos[menor]? Si: medio = J J = J + 1 fin mientras ¿menor != i? Si: intercambiar datos[i] por datos[menor] i = i + 1 fin mientras 54 43 1 73 44 menor J i 0 1 2 3 4 Función: SelectSort Recibe: datos[ ], ultInd Regresa: nada i = 0 mientras i < ultInd menor = i J = i + 1 mientras J <= ultInd ¿datos[J] < datos[menor]? Si: medio = J J = J + 1 fin mientras ¿menor != i? Si: intercambiar datos[i] por datos[menor] i = i + 1 fin mientras 54 43 1 73 44 0 menor J i 0 1 2 3 4 Función: SelectSort Recibe: datos[ ], ultInd Regresa: nada i = 0 mientras i < ultInd menor = i J = i + 1 mientras J <= ultInd ¿datos[J] < datos[menor]? Si: medio = J J = J + 1 fin mientras ¿menor != i? Si: intercambiar datos[i] por datos[menor] i = i + 1 fin mientras 54 43 1 73 44 0 menor J i 0 1 2 3 4 Función: SelectSort Recibe: datos[ ], ultInd Regresa: nada i = 0 mientras i < ultInd menor = i J = i + 1 mientras J <= ultInd ¿datos[J] < datos[menor]? Si: medio = J J = J + 1 fin mientras ¿menor != i? Si: intercambiar datos[i] por datos[menor] i = i + 1 fin mientras 54 43 1 73 44 0 0 menor J i 0 1 2 3 4 Función: SelectSort Recibe: datos[ ], ultInd Regresa: nada i = 0 mientras i < ultInd menor = i J = i + 1 mientras J <= ultInd ¿datos[J] < datos[menor]? Si: medio = J J = J + 1 fin mientras ¿menor != i? Si: intercambiar datos[i] por datos[menor] i = i + 1 fin mientras 54 43 1 73 44 0 0 1 menor J i 0 1 2 3 4 Función: SelectSort Recibe: datos[ ], ultInd Regresa: nada i = 0 mientras i < ultInd menor = i J = i + 1 mientras J <= ultInd ¿datos[J] < datos[menor]? Si: medio = J J = J + 1 fin mientras ¿menor != i? Si: intercambiar datos[i] por datos[menor] i = i + 1 fin mientras 54 43 1 73 44 0 0 1 menor J i 0 1 2 3 4 Función: SelectSort Recibe: datos[ ], ultInd Regresa: nada i = 0 mientras i < ultInd menor = i J = i + 1 mientras J <= ultInd ¿datos[J] < datos[menor]? Si: medio = J J = J + 1 fin mientras ¿menor != i? Si: intercambiar datos[i] por datos[menor] i = i + 1 fin mientras 54 43 1 73 44 0 0 1 menor J i 0 1 2 3 4 Función: SelectSort Recibe: datos[ ], ultInd Regresa: nada i = 0 mientras i < ultInd menor = i J = i + 1 mientras J <= ultInd ¿datos[J] < datos[menor]? Si: medio = J J = J + 1 fin mientras ¿menor != i? Si: intercambiar datos[i] por datos[menor] i = i + 1 fin mientras 54 43 1 73 44 1 0 1 menor J i 0 1 2 3 4 Función: SelectSort Recibe: datos[ ], ultInd Regresa: nada i = 0 mientras i < ultInd menor = i J = i + 1 mientras J <= ultInd ¿datos[J] < datos[menor]? Si: medio = J J = J + 1 fin mientras ¿menor != i? Si: intercambiar datos[i] por datos[menor] i = i + 1 fin mientras 54 43 1 73 44 1 0 2 menor J i 0 1 2 3 4 Función: SelectSort Recibe: datos[ ], ultInd Regresa: nada i = 0 mientras i < ultInd menor = i J = i + 1 mientras J <= ultInd ¿datos[J] < datos[menor]? Si: medio = J J = J + 1 fin mientras ¿menor != i? Si: intercambiar datos[i] por datos[menor] i = i + 1 fin mientras 54 43 1 73 44 1 0 2 menor J i 0 1 2 3 4 Función: SelectSort Recibe: datos[ ], ultInd Regresa: nada i = 0 mientras i < ultInd menor = i J = i + 1 mientras J <= ultInd ¿datos[J] < datos[menor]? Si: medio = J J = J + 1 fin mientras ¿menor != i? Si: intercambiar datos[i] por datos[menor] i = i + 1 fin mientras 54 43 1 73 44 1 0 2 menor J i 0 1 2 3 4 Función: SelectSort Recibe: datos[ ], ultInd Regresa: nada i = 0 mientras i < ultInd menor = i J = i + 1 mientras J <= ultInd ¿datos[J] < datos[menor]? Si: medio = J J = J + 1 fin mientras ¿menor != i? Si: intercambiar datos[i] por datos[menor] i = i + 1 fin mientras 54 43 1 73 44 1 0 3 menor J i 0 1 2 3 4 Función: SelectSort Recibe: datos[ ], ultInd Regresa: nada i = 0 mientras i < ultInd menor = i J = i + 1 mientras J <= ultInd ¿datos[J] < datos[menor]? Si: medio = J J = J + 1 fin mientras ¿menor != i? Si: intercambiar datos[i] por datos[menor] i = i + 1 fin mientras 54 43 1 73 44 1 0 3 menor J i 0 1 2 3 4 Función: SelectSort Recibe: datos[ ], ultInd Regresa: nada i = 0 mientras i < ultInd menor = i J = i + 1 mientras J <= ultInd ¿datos[J] < datos[menor]? Si: medio = J J = J + 1 fin mientras ¿menor != i? Si: intercambiar datos[i] por datos[menor] i = i + 1 fin mientras 54 43 1 73 44 1 0 3 menor J i 0 1 2 3 4 Función: SelectSort Recibe: datos[ ], ultInd Regresa: nada i = 0 mientras i < ultInd menor = i J = i + 1 mientras J <= ultInd ¿datos[J] < datos[menor]? Si: medio = J J = J + 1 fin mientras ¿menor != i? Si: intercambiar datos[i] por datos[menor] i = i + 1 fin mientras 54 43 1 73 44 3 0 3 menor J i 0 1 2 3 4 Función: SelectSort Recibe: datos[ ], ultInd Regresa: nada i = 0 mientras i < ultInd menor = i J = i + 1 mientras J <= ultInd ¿datos[J] < datos[menor]? Si: medio = J J = J + 1 fin mientras ¿menor != i? Si: intercambiar datos[i] por datos[menor] i = i + 1 fin mientras 54 43 1 73 44 3 0 4 menor J i 0 1 2 3 4 Función: SelectSort Recibe: datos[ ], ultInd Regresa: nada i = 0 mientras i < ultInd menor = i J = i + 1 mientras J <= ultInd ¿datos[J] < datos[menor]? Si: medio = J J = J + 1 fin mientras ¿menor != i? Si: intercambiar datos[i] por datos[menor] i = i + 1 fin mientras 54 43 1 73 44 3 0 4 menor J i 0 1 2 3 4 Función: SelectSort Recibe: datos[ ], ultInd Regresa: nada i = 0 mientras i < ultInd menor = i J = i + 1 mientras J <= ultInd ¿datos[J] < datos[menor]? Si: medio = J J = J + 1 fin mientras ¿menor != i? Si: intercambiar datos[i] por datos[menor] i = i + 1 fin mientras 54 43 1 73 44 3 0 4 menor J i 0 1 2 3 4 Función: SelectSort Recibe: datos[ ], ultInd Regresa: nada i = 0 mientras i < ultInd menor = i J = i + 1 mientras J <= ultInd ¿datos[J] < datos[menor]? Si: medio = J J = J + 1 fin mientras ¿menor != i? Si: intercambiar datos[i] por datos[menor] i = i + 1 fin mientras 54 43 1 73 44 3 0 5 menor J i 0 1 2 3 4 Función: SelectSort Recibe: datos[ ], ultInd Regresa: nada i = 0 mientras i < ultInd menor = i J =i + 1 mientras J <= ultInd ¿datos[J] < datos[menor]? Si: medio = J J = J + 1 fin mientras ¿menor != i? Si: intercambiar datos[i] por datos[menor] i = i + 1 fin mientras 54 43 1 73 44 3 0 5 menor J i 0 1 2 3 4 Función: SelectSort Recibe: datos[ ], ultInd Regresa: nada i = 0 mientras i < ultInd menor = i J = i + 1 mientras J <= ultInd ¿datos[J] < datos[menor]? Si: medio = J J = J + 1 fin mientras ¿menor != i? Si: intercambiar datos[i] por datos[menor] i = i + 1 fin mientras 54 43 1 73 44 3 0 5 menor J i 0 1 2 3 4 Función: SelectSort Recibe: datos[ ], ultInd Regresa: nada i = 0 mientras i < ultInd menor = i J = i + 1 mientras J <= ultInd ¿datos[J] < datos[menor]? Si: medio = J J = J + 1 fin mientras ¿menor != i? Si: intercambiar datos[i] por datos[menor] i = i + 1 fin mientras 1 43 54 73 44 3 0 5 menor J i 0 1 2 3 4 Función: SelectSort Recibe: datos[ ], ultInd Regresa: nada i = 0 mientras i < ultInd menor = i J = i + 1 mientras J <= ultInd ¿datos[J] < datos[menor]? Si: medio = J J = J + 1 fin mientras ¿menor != i? Si: intercambiar datos[i] por datos[menor] i = i + 1 fin mientras 1 43 54 73 44 3 1 5 menor J i 0 1 2 3 4 Función: SelectSort Recibe: datos[ ], ultInd Regresa: nada i = 0 mientras i < ultInd menor = i J = i + 1 mientras J <= ultInd ¿datos[J] < datos[menor]? Si: medio = J J = J + 1 fin mientras ¿menor != i? Si: intercambiar datos[i] por datos[menor] i = i + 1 fin mientras 1 43 54 73 44 3 1 5 menor J i 0 1 2 3 4 Función: SelectSort Recibe: datos[ ], ultInd Regresa: nada i = 0 mientras i < ultInd menor = i J = i + 1 mientras J <= ultInd ¿datos[J] < datos[menor]? Si: medio = J J = J + 1 fin mientras ¿menor != i? Si: intercambiar datos[i] por datos[menor] i = i + 1 fin mientras 1 43 54 73 44 1 1 5 menor J i 0 1 2 3 4 Función: SelectSort Recibe: datos[ ], ultInd Regresa: nada i = 0 mientras i < ultInd menor = i J = i + 1 mientras J <= ultInd ¿datos[J] < datos[menor]? Si: medio = J J = J + 1 fin mientras ¿menor != i? Si: intercambiar datos[i] por datos[menor] i = i + 1 fin mientras 1 43 54 73 44 1 1 2 menor J i 0 1 2 3 4 Función: SelectSort Recibe: datos[ ], ultInd Regresa: nada i = 0 mientras i < ultInd menor = i J = i + 1 mientras J <= ultInd ¿datos[J] < datos[menor]? Si: medio = J J = J + 1 fin mientras ¿menor != i? Si: intercambiar datos[i] por datos[menor] i = i + 1 fin mientras 1 43 54 73 44 1 1 2 menor J i 0 1 2 3 4 Función: SelectSort Recibe: datos[ ], ultInd Regresa: nada i = 0 mientras i < ultInd menor = i J = i + 1 mientras J <= ultInd ¿datos[J] < datos[menor]? Si: medio = J J = J + 1 fin mientras ¿menor != i? Si: intercambiar datos[i] por datos[menor] i = i + 1 fin mientras 1 43 54 73 44 1 1 2 menor J i 0 1 2 3 4 Función: SelectSort Recibe: datos[ ], ultInd Regresa: nada i = 0 mientras i < ultInd menor = i J = i + 1 mientras J <= ultInd ¿datos[J] < datos[menor]? Si: medio = J J = J + 1 fin mientras ¿menor != i? Si: intercambiar datos[i] por datos[menor] i = i + 1 fin mientras 1 43 54 73 44 1 1 3 menor J i 0 1 2 3 4 Función: SelectSort Recibe: datos[ ], ultInd Regresa: nada i = 0 mientras i < ultInd menor = i J = i + 1 mientras J <= ultInd ¿datos[J] < datos[menor]? Si: medio = J J = J + 1 fin mientras ¿menor != i? Si: intercambiar datos[i] por datos[menor] i = i + 1 fin mientras 1 43 54 73 44 1 1 3 menor J i 0 1 2 3 4 Función: SelectSort Recibe: datos[ ], ultInd Regresa: nada i = 0 mientras i < ultInd menor = i J = i + 1 mientras J <= ultInd ¿datos[J] < datos[menor]? Si: medio = J J = J + 1 fin mientras ¿menor != i? Si: intercambiar datos[i] por datos[menor] i = i + 1 fin mientras 1 43 54 73 44 1 1 3 menor J i 0 1 2 3 4 Función: SelectSort Recibe: datos[ ], ultInd Regresa: nada i = 0 mientras i < ultInd menor = i J = i + 1 mientras J <= ultInd ¿datos[J] < datos[menor]? Si: medio = J J = J + 1 fin mientras ¿menor != i? Si: intercambiar datos[i] por datos[menor] i = i + 1 fin mientras 1 43 54 73 44 1 1 4 menor J i 0 1 2 3 4 Función: SelectSort Recibe: datos[ ], ultInd Regresa: nada i = 0 mientras i < ultInd menor = i J = i + 1 mientras J <= ultInd ¿datos[J] < datos[menor]? Si: medio = J J = J + 1 fin mientras ¿menor != i? Si: intercambiar datos[i] por datos[menor] i = i + 1 fin mientras 1 43 54 73 44 1 1 4 menor J i 0 1 2 3 4 Función: SelectSort Recibe: datos[ ], ultInd Regresa: nada i = 0 mientras i < ultInd menor = i J = i + 1 mientras J <= ultInd ¿datos[J] < datos[menor]? Si: medio = J J = J + 1 fin mientras ¿menor != i? Si: intercambiar datos[i] por datos[menor] i = i + 1 fin mientras 1 43 54 73 44 1 1 4 menor J i 0 1 2 3 4 Función: SelectSort Recibe: datos[ ], ultInd Regresa: nada i = 0 mientras i < ultInd menor = i J = i + 1 mientras J <= ultInd ¿datos[J] < datos[menor]? Si: medio = J J = J + 1 fin mientras ¿menor != i? Si: intercambiar datos[i] por datos[menor] i = i + 1 fin mientras 1 43 54 73 44 1 1 5 menor J i 0 1 2 3 4 Función: SelectSort Recibe: datos[ ], ultInd Regresa: nada i = 0 mientras i < ultInd menor = i J = i + 1 mientras J <= ultInd ¿datos[J] < datos[menor]? Si: medio = J J = J + 1 fin mientras ¿menor != i? Si: intercambiar datos[i] por datos[menor] i = i + 1 fin mientras 1 43 54 73 44 1 1 5 menor J i 0 1 2 3 4 Función: SelectSort Recibe: datos[ ], ultInd Regresa: nada i = 0 mientras i < ultInd menor = i J = i + 1 mientras J <= ultInd ¿datos[J] < datos[menor]? Si: medio = J J = J + 1 fin mientras ¿menor != i? Si: intercambiar datos[i] por datos[menor] i = i + 1 fin mientras 1 43 54 73 44 1 1 5 menor J i 0 1 2 3 4 Función: SelectSort Recibe: datos[ ], ultInd Regresa: nada i = 0 mientras i < ultInd menor = i J = i + 1 mientras J <= ultInd ¿datos[J] < datos[menor]? Si: medio = J J = J + 1 fin mientras ¿menor != i? Si: intercambiar datos[i] por datos[menor] i = i + 1 fin mientras 1 43 54 73 44 1 2 5 menor J i 0 1 2 3 4 Función: SelectSort Recibe: datos[ ], ultInd Regresa: nada i = 0 mientras i < ultInd menor = i J = i + 1 mientras J <= ultInd ¿datos[J] < datos[menor]? Si: medio = J J = J + 1 fin mientras ¿menor != i? Si: intercambiar datos[i] por datos[menor] i = i + 1 fin mientras 1 43 54 73 44 1 2 5 menor J i 0 1 2 3 4 Función: SelectSort Recibe: datos[ ], ultInd Regresa: nada i = 0 mientras i < ultInd menor = i J = i + 1 mientras J <= ultInd ¿datos[J] < datos[menor]? Si: medio = J J = J + 1 fin mientras ¿menor != i? Si: intercambiar datos[i] por datos[menor] i = i + 1 fin mientras 1 43 54 73 44 2 2 5 menor J i 0 1 2 3 4 Función: SelectSort Recibe: datos[ ], ultInd Regresa: nada i = 0 mientras i < ultInd menor = i J = i + 1 mientras J <= ultInd ¿datos[J] < datos[menor]? Si: medio = J J = J + 1 fin mientras ¿menor != i? Si: intercambiar datos[i] por datos[menor] i = i + 1 fin mientras 1 43 54 73 44 2 2 3 menor J i 0 1 2 3 4 Función: SelectSort Recibe: datos[ ], ultInd Regresa: nada i = 0 mientras i < ultInd menor = i J = i + 1 mientras J <= ultInd ¿datos[J] < datos[menor]? Si: medio = J J = J + 1 fin mientras ¿menor != i? Si: intercambiar datos[i] por datos[menor] i = i + 1 fin mientras 1 43 54 73 44 2 2 3 menor J i 0 1 2 3 4 Función: SelectSort Recibe: datos[ ], ultInd Regresa: nada i = 0 mientras i < ultInd menor = i J= i + 1 mientras J <= ultInd ¿datos[J] < datos[menor]? Si: medio = J J = J + 1 fin mientras ¿menor != i? Si: intercambiar datos[i] por datos[menor] i = i + 1 fin mientras 1 43 54 73 44 2 2 3 menor J i 0 1 2 3 4 Función: SelectSort Recibe: datos[ ], ultInd Regresa: nada i = 0 mientras i < ultInd menor = i J = i + 1 mientras J <= ultInd ¿datos[J] < datos[menor]? Si: medio = J J = J + 1 fin mientras ¿menor != i? Si: intercambiar datos[i] por datos[menor] i = i + 1 fin mientras 1 43 54 73 44 3 2 3 menor J i 0 1 2 3 4 Función: SelectSort Recibe: datos[ ], ultInd Regresa: nada i = 0 mientras i < ultInd menor = i J = i + 1 mientras J <= ultInd ¿datos[J] < datos[menor]? Si: medio = J J = J + 1 fin mientras ¿menor != i? Si: intercambiar datos[i] por datos[menor] i = i + 1 fin mientras 1 43 54 73 44 3 2 4 menor J i 0 1 2 3 4 Función: SelectSort Recibe: datos[ ], ultInd Regresa: nada i = 0 mientras i < ultInd menor = i J = i + 1 mientras J <= ultInd ¿datos[J] < datos[menor]? Si: medio = J J = J + 1 fin mientras ¿menor != i? Si: intercambiar datos[i] por datos[menor] i = i + 1 fin mientras 1 43 54 73 44 3 2 4 menor J i 0 1 2 3 4 Función: SelectSort Recibe: datos[ ], ultInd Regresa: nada i = 0 mientras i < ultInd menor = i J = i + 1 mientras J <= ultInd ¿datos[J] < datos[menor]? Si: medio = J J = J + 1 fin mientras ¿menor != i? Si: intercambiar datos[i] por datos[menor] i = i + 1 fin mientras 1 43 54 73 44 3 2 4 menor J i 0 1 2 3 4 Función: SelectSort Recibe: datos[ ], ultInd Regresa: nada i = 0 mientras i < ultInd menor = i J = i + 1 mientras J <= ultInd ¿datos[J] < datos[menor]? Si: medio = J J = J + 1 fin mientras ¿menor != i? Si: intercambiar datos[i] por datos[menor] i = i + 1 fin mientras 1 43 54 73 44 4 2 4 menor J i 0 1 2 3 4 Función: SelectSort Recibe: datos[ ], ultInd Regresa: nada i = 0 mientras i < ultInd menor = i J = i + 1 mientras J <= ultInd ¿datos[J] < datos[menor]? Si: medio = J J = J + 1 fin mientras ¿menor != i? Si: intercambiar datos[i] por datos[menor] i = i + 1 fin mientras 1 43 54 73 44 4 2 5 menor J i 0 1 2 3 4 Función: SelectSort Recibe: datos[ ], ultInd Regresa: nada i = 0 mientras i < ultInd menor = i J = i + 1 mientras J <= ultInd ¿datos[J] < datos[menor]? Si: medio = J J = J + 1 fin mientras ¿menor != i? Si: intercambiar datos[i] por datos[menor] i = i + 1 fin mientras 1 43 54 73 44 4 2 5 menor J i 0 1 2 3 4 Función: SelectSort Recibe: datos[ ], ultInd Regresa: nada i = 0 mientras i < ultInd menor = i J = i + 1 mientras J <= ultInd ¿datos[J] < datos[menor]? Si: medio = J J = J + 1 fin mientras ¿menor != i? Si: intercambiar datos[i] por datos[menor] i = i + 1 fin mientras 1 43 54 73 44 4 2 5 menor J i 0 1 2 3 4 Función: SelectSort Recibe: datos[ ], ultInd Regresa: nada i = 0 mientras i < ultInd menor = i J = i + 1 mientras J <= ultInd ¿datos[J] < datos[menor]? Si: medio = J J = J + 1 fin mientras ¿menor != i? Si: intercambiar datos[i] por datos[menor] i = i + 1 fin mientras 1 43 54 44 73 4 2 5 menor J i 0 1 2 3 4 Función: SelectSort Recibe: datos[ ], ultInd Regresa: nada i = 0 mientras i < ultInd menor = i J = i + 1 mientras J <= ultInd ¿datos[J] < datos[menor]? Si: medio = J J = J + 1 fin mientras ¿menor != i? Si: intercambiar datos[i] por datos[menor] i = i + 1 fin mientras 1 43 54 44 73 4 2 5 menor J i 0 1 2 3 4 Función: SelectSort Recibe: datos[ ], ultInd Regresa: nada i = 0 mientras i < ultInd menor = i J = i + 1 mientras J <= ultInd ¿datos[J] < datos[menor]? Si: medio = J J = J + 1 fin mientras ¿menor != i? Si: intercambiar datos[i] por datos[menor] i = i + 1 fin mientras 1 43 54 44 73 4 3 5 menor J i 0 1 2 3 4 Función: SelectSort Recibe: datos[ ], ultInd Regresa: nada i = 0 mientras i < ultInd menor = i J = i + 1 mientras J <= ultInd ¿datos[J] < datos[menor]? Si: medio = J J = J + 1 fin mientras ¿menor != i? Si: intercambiar datos[i] por datos[menor] i = i + 1 fin mientras 1 43 54 44 73 4 3 5 menor J i 0 1 2 3 4 Función: SelectSort Recibe: datos[ ], ultInd Regresa: nada i = 0 mientras i < ultInd menor = i J = i + 1 mientras J <= ultInd ¿datos[J] < datos[menor]? Si: medio = J J = J + 1 fin mientras ¿menor != i? Si: intercambiar datos[i] por datos[menor] i = i + 1 fin mientras 1 43 54 44 73 3 3 5 menor J i 0 1 2 3 4 Función: SelectSort Recibe: datos[ ], ultInd Regresa: nada i = 0 mientras i < ultInd menor = i J = i + 1 mientras J <= ultInd ¿datos[J] < datos[menor]? Si: medio = J J = J + 1 fin mientras ¿menor != i? Si: intercambiar datos[i] por datos[menor] i = i + 1 fin mientras 1 43 54 44 73 3 3 4 menor J i 0 1 2 3 4 Función: SelectSort Recibe: datos[ ], ultInd Regresa: nada i = 0 mientras i < ultInd menor = i J = i + 1 mientras J <= ultInd ¿datos[J] < datos[menor]? Si: medio = J J = J + 1 fin mientras ¿menor != i? Si: intercambiar datos[i] por datos[menor] i = i + 1 fin mientras 1 43 54 44 73 3 3 4 menor J i 0 1 2 3 4 Función: SelectSort Recibe: datos[ ], ultInd Regresa: nada i = 0 mientras i < ultInd menor = i J = i + 1 mientras J <= ultInd ¿datos[J] < datos[menor]? Si: medio = J J = J + 1 fin mientras ¿menor != i? Si: intercambiar datos[i] por datos[menor] i = i + 1 fin mientras 1 43 54 44 73 3 3 4 menor J i 0 1 2 3 4 Función: SelectSort Recibe: datos[ ], ultInd Regresa: nada i = 0 mientras i < ultInd menor = i J = i + 1 mientras J <= ultInd ¿datos[J] < datos[menor]? Si: medio = J J = J + 1 fin mientras ¿menor != i? Si: intercambiar datos[i] por datos[menor] i = i + 1 fin mientras 1 43 54 44 73 3 3 5 menor J i 0 1 2 3 4 Función: SelectSort Recibe: datos[ ], ultInd Regresa: nada i = 0 mientras i < ultInd menor = i J = i + 1 mientras J <= ultInd ¿datos[J] < datos[menor]? Si: medio = J J = J + 1 fin mientras ¿menor != i? Si: intercambiar datos[i] por datos[menor] i = i + 1 fin mientras 1 43 54 44 73 3 3 5 menor J i 0 1 2 3 4 Función: SelectSort Recibe: datos[ ], ultInd Regresa: nada i = 0 mientras i < ultInd menor = i J = i + 1 mientras J <= ultInd ¿datos[J] < datos[menor]? Si: medio = J J = J + 1 fin mientras ¿menor != i? Si: intercambiar datos[i] por datos[menor] i = i + 1 fin mientras 1 43 54 44 73 3 3 5 menor J i 0 1 2 3 4 Función: SelectSort Recibe: datos[ ], ultInd Regresa: nada i = 0 mientras i < ultInd menor = i J = i + 1 mientras J <= ultInd ¿datos[J] < datos[menor]? Si: medio = J J = J + 1 fin mientras ¿menor != i? Si: intercambiar datos[i] por datos[menor] i = i + 1 fin mientras 1 43 54 44 73 3 4 5 menor J i 0 1 2 3 4 Función: SelectSort Recibe: datos[ ], ultInd Regresa: nada i = 0 mientras i < ultInd menor = i J = i + 1 mientras J <= ultInd ¿datos[J] < datos[menor]? Si: medio = J J = J + 1 fin mientras ¿menor != i? Si: intercambiar datos[i] por datos[menor] i = i + 1 fin mientras 1 43 54 44 73 3 4 5 menor J i 0 1 2 3 4 Función: SelectSort Recibe: datos[ ], ultInd Regresa: nada i = 0 mientras i < ultInd menor = i J = i + 1 mientras J <= ultInd ¿datos[J] < datos[menor]? Si: medio = J J = J + 1 fin mientras ¿menor != i? Si: intercambiar datos[i] por datos[menor] i = i + 1 fin mientras 1 43 54 44 73 3 4 5 menor J i 0 1 2 3 4
Compartir