Operaciones con Vectores(cuarta parte)
El tema de esta cuarta parte de operaciones con vectores es la Actualización, esta operación se realiza de manera frecuente en los arreglos. Según Cairo, Osvaldo (2006) "la cantidad de actualizaciones está relacionada con el tipo de problema que se intente resolver. A diferencia de las otras operaciones estudiadas, la actualización lleva implícita otros tipos de operaciones como inserción, eliminación de elementos."
Es importante destacar que la actualización utiliza la operación de búsqueda como un auxiliar para realizar las operaciones de inserción, eliminación y modificación.
Actualización Insertar: para insertar un elemento en un vector primero se debe verificar que el vector tenga espacio, luego se encontrará la posición en la que debería estar el nuevo elemento para no alterar el orden del arreglo, una vez detectada la posición, lo que se debe realizar es correr todos los elementos del arreglo un lugar a la derecha, y por último se inserta el elemento en la posición correspondiente. Es importante señalar que si el elemento a insertar es mayor que el último elemento no se realiza el desplazamiento a la derecha. Por ejemplo:
Se tiene el siguiente vector [10, 20, 30, 50, ](se deja un lugar libre para realizar la inserción), el elemento que deseamos insertar es el 45 manteniendo el orden en el vector, por lo tanto el 45 debe colocarse entre el 30 y el 50, es decir en la posición 3 del arreglo. Lo que se debe realizar es el desplazar el 50 una posición a la derecha quedando el vector de la siguiente manera [10, 20, 30, 50, 50], luego se debe colocar el 40 en la posición 3 el vector resultante es el siguiente [10, 20, 30, 45, 50]
Este algoritmo representado en diagrama de flujo es el siguiente.
Actualización Eliminar: para eliminar un elemento de un vector se debe buscar elemento que se desea eliminar en el arreglo, si éste no se encuentra no se realiza la eliminación, caso contrarios una vez encontrado el elemento, no es posible dejar un "vacío" en medio del vector, por lo tanto los elementos que se encuentran a la derecha del elemento a eliminar se deben mover una posición hacia la izquierda para llenar el "vacío" generado, por ultimo se debe reducir el tamaño, por lo tanto la dimensión lógica se reduce en uno, por ejemplo:
Supongamos que tenemos el siguiente vector: [10, 20, 30, 40, 50] y queremos eliminar el elemento 30, lo primero que se deberá realizar es buscar elemento en el arreglo para saber el valor del índice, en este caso se encuentra en la posición 2. Ahora se debe realizar el desplazamiento, es decir los elementos que se encuentran después del 30 deben desplazarse una posición hacia la izquierda, el vector pasaría de [10, 20, 30, 40, 50] a [10, 20, 40, 50, 50], como se puede ver el elemento 50 se repite en dos veces al final del vector, para quitar este valor repetido se debe reducir la dimensión lógica del vector la cual pasaría de 5 a 4, pero la dimensión física del vector sigue siendo la misma, en este caso es 5, la reducción de la dimensión lógica dejaría al vector de la siguiente manera [10, 20, 40, 50].
A continuación se presenta el diagrama de esta operación
Actualización Modificar: esta operación consiste en reemplazar un componente del arreglo con otro valor, para ello primero se deberá realizar la búsqueda del elemento en el vector, si se encuentra y el arreglo está ordenado se deberá verificar que el orden del arreglo no se altere, caso contrario solo se deberá modificar el elemento del arreglo.
Por ejemplo supongamos que modificaremos el siguiente vector [15, 21, 30, 49, 50], vamos a reemplazar el 30 por el 25, el 30 se encuentra en la posición 2 del arreglo, como el 25 > 21 y 25 < 49 se mantiene el orden en el vector, lo que restaría hacer es reemplazar los valores de manera tal que el vector quede de la siguiente manera [15, 21, 25, 49, 50].
Con lo expuesto en este post llegamos al final de lo que se tenía pensado exponer en este blog, espero que la información haya sido de mucha ayuda para comprender mejor el manejo de vectores.
Gracias por haber llegado hasta el final del blog. Hasta la próxima
Comentarios
Publicar un comentario