Logo Studenta

Estructuras de Datos I - Ordenamientos Iterativos Selección

¡Este material tiene más páginas!

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

Continuar navegando