Practico 6 - Ejercicio 4

Practico 6 - Ejercicio 4

de Esteban Normey Rieta -
Número de respuestas: 1

Buenas,
No estoy consiguiendo pensar una forma buena de implementar el selection sort sin poder tocar el arreglo inicial.
O sea, al no poder hacer el swaping en cada iteracion de buscar el "maximo", debo recordar cual fue el maximo anterior que encontré (el ultimo elemento añadido al arreglo nuevo) y hacer algo como:
if (memoria[direccion-actual] < maximo_ant && memoria[direccion-actual] > maximo_actual){
         maximo_actual = memoria[direcion-actual];}
Pues asi me aseguro de estar considerando un elemento no ya añadido anteriormente. Pero hay casos bordes, depende si pueden haber repetidos, también tengo que saber si la codificacion es con negativos (complemento a 2) y cosas así. Por lo que este codigo me parece extenso y, por ende, malo (por lo menos para mi, y para desarrollarlo y pasarlo a assembler).
Me podrían tirar un tip o algo?
Gracias!

En respuesta a Esteban Normey Rieta

Re: Practico 6 - Ejercicio 4

de Gustavo Brown -

La letra de ese ejercicio está confusa.

Podés por ejemplo asumir estas restricciones: 

  • El conjunto de números a ordenar no contiene repetidos. 
  • No se permite modificar el conjunto de entrada
  • Los números son con signo
  • Ignorar esta frase de la letra "Mediante este procedimiento la última palabra ya queda ordenada, por lo cual en la siguiente iteración se debe considerar el conjunto de la iteración anterior sin considerar la última palabra." porque con esas restricciones la frase no aporta nada.

Saludos,
  Gustavo