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 🥲
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.