Dependiendo de si el nuevo valor es mayor o menor que el anterior, puede "burbuja" en su lugar.
El pseudo-código sería algo como esto:
if new value larger than old value
then if new value is larger than next value in collection
then swap the value with the next value
iterate until value is not larger than next value
else if new value is smaller than previous value in collection
then swap the value with the previous value
iterate until value is not smaller than the previous value
Por supuesto, una mejor manera sería utilizar una búsqueda binaria.
Primero, ubique el nuevo lugar en la colección donde debería estar el elemento. Luego, cambia los elementos a su lugar. Si el nuevo índice de punto es mayor que el índice de punto actual, desplaza los elementos hacia abajo en un elemento, de lo contrario, los desplazará hacia arriba. Cambias elementos desde el lugar que ocupabas anteriormente hasta el que deseas ocupar. Luego, almacena el valor en el lugar que encontraste.
Por ejemplo, supongamos que esta colección:
a b c d e f g h i j
10 20 30 40 50 60 70 80 90 100
entonces usted quiere cambiar el valor del elemento f de 60 a 95.
En primer lugar a determinar donde debería estar.Uso de la búsqueda binaria, encontramos que debería estar entre 90 y 100:
a b c d e f g h i j
10 20 30 40 50 60 70 80 90 100
^
+- here
Entonces usted cambia de elementos desde la posición actual hasta un elemento, como esto:
a b c d e f g h i j
10 20 30 40 50 60 70 80 90 100 <-- from this
10 20 30 40 50 70 80 90 ?? 100 <-- to this
Y luego se almacena el valor en el ?? espacio, lo que le da esta formación
a b c d e g h i f j
10 20 30 40 50 70 80 90 95 100
La respuesta depende de cómo se represente la lista (lista vinculada, matriz) y de si tiene o no acceso directo al elemento modificado o si tiene que encontrarlo primero. Como se da, esta pregunta no está especificada. –