Saltar al contenido principal

Pregunta 49

A continuación, se muestra un pseudocódigo de un programa que implementa el ordenamiento por selección o selection sort. Asuma que l.largo() entrega la cantidad de elementos de la lista l, l[i] (i >= 0) entrega el elemento en la posición i de la lista l, que encontrar_maximo(l) entrega la posición del máximo elemento de una lista l y la función intercambiar(i,j,lista) pone el elemento de lista[i] en la posición j y pone en la posición i el valor que estaba originalmente en lista[j]. Por último, lista[i:] entrega la sublista que contiene los elementos desde la posición i (inclusive) en adelante.

1.    DEF ordenamiento_seleccion(lista)
2. i = 0
3.
4. WHILE i < lista.largo()
5. max = encontrar_maximo(lista[i:])
6. intercambiar(XX,XXX,XXXX)
7. i += 1
8.
9. FIN WHILE
10. fin DEF

Se ha perdido parte del código de la línea 6 de los parámetros que se entregan a la función intercambiar, ¿cuál de las siguientes alternativas muestra correctamente la llamada a la función intercambiar para que el código ordene la lista correctamente?

a) intercambiar(max + i, i, lista)

b) intercambiar(lista[i],lista[max],lista)

c) intercambiar(max, i, lista)

d) intercambiar(max,lista[i],lista)

Solución propuesta

Aún no hay solución propuesta 🥲

info

Si este ejercicio tiene una solución, podría estar incorrecta. Si deseas proponer una solución alternativa, manda tu solución abriendo un Pull Request en el repositorio de GitHub con el archivo .mdx correspondiente.

Comentarios