Página generada en Oct 17, 2018 8:01:42 AM

WatchStarForkSeguir @josechavarriacr

Jun 12, 2017

Arrays

Un array es una estructura de datos que nos permite almacenar una gran cantidad de datos de un mismo tipo de elementos y estos elementos deben ser del mismo tipo. La mayoría de las estructuras de datos hacen uso de arrays para implementar sus algoritmos. Los siguientes son los términos importantes para entender el concepto de Array.

  • Elemento: Cada valor almacenado en un array se le llama elemento.
  • Índice: Cada ubicación de un elemento en un array tiene un índice numérico, que se utiliza para identificar el elemento.

Imagen 1: Estructura de un Array, índices y elementos.

Imagen 1: índices y elementos

Operaciones básicas

  • Recorrido (Traverse): imprime todos los elementos del arreglo uno por uno.
  • Inserción (Insertion): agrega un elemento en el índice dado.
  • Eliminación (Deletion): elimina un elemento del índice dado.
  • Buscar (Search): busca un elemento utilizando el índice dado o el valor.
  • Actualización (Update): actualiza un elemento en el índice dado.


Ejemplo práctico

Acontinuación un ejemplo en java, primero inicializamos el Array que sea de tipo entero, en este caso le damos un valor de 5.

static int[] num = new int[5]; 

Inserción

Se crea un ciclo de inserción para llenar los elementos del Array, en esta función se le agregan el valor número del for i más 10, dando como resultado la salida descrita debajo de este código.

static void Insercion() {
         System.out.println("Inserción...");
        for (int i = 0; i < num.length; i++) {
            num[i] = i + 10;
             System.out.println(num[i] = i + 10);
        }
    }

_salida

Inserción...
10
11
12
13
14

Recorrido

Este algoritmo tiene como fin recorrer el Array por medio del ciclo for imprimiendo en consola el lugar del índice y elemento (el valor que posee dicho índice).

static void Recorrido() {
        System.out.println("\nRecorrido...");
        for (int i = 0; i < num.length; i++) {
            System.out.println("índice: " + i + " elemento: " + num[i]);
        }
    }

_salida

Recorrido...
índice: 0 elemento: 10
índice: 1 elemento: 11
índice: 2 elemento: 12
índice: 3 elemento: 13
índice: 4 elemento: 14

Buscar

El valor a buscar es 10, se crea una pequeña función que recibe como parámetro el valor a buscar, recorremos el Array con un ciclo for y por medio de la condicional IF comparamos cada elemento hasta encontrar el valor del elemento a buscar, posteriormente será impreso en consola.

static void Buscar(int var) {
        System.out.println("\nBúsqueda: " + var);
        for (int i = 0; i < num.length; i++) {
            if (num[i] == var) {
                System.out.println("índice: " + i + " elemento: " + num[i]);
            }
        }
    }

_salida

Búsqueda: 10
índice: 0 elemento: 10

Actualización

El valor a buscar es 10 y lo cambia por 100, esta función recibe dos parámetros (valor actual y nuevo valor) que serán utilizados para buscar el valor y que este sea intercambiado por el nuevo valor, se realizará por medio del ciclo for para recorrer el Array, luego por medio de la condicional IF compararemos cada elemento hasta encontrar el valor del elemento deseado para posteriormente, cambiar ese elemento por el nuevo valor.

static void Actualizar(int pasado, int nuevo) {
         System.out.println("\nActualizar: " + pasado + " por " + nuevo);
        for (int i = 0; i < num.length; i++) {
            if (num[i] == pasado) {
                num[i] = nuevo;
                 System.out.println("índice: " + i + " elemento: " + num[i]);
            }
        }
    }

_salida

Actualizar: 10 por 100
índice: 0 elemento: 100

Eliminación

El valor a buscar y borrar es 100, creamos una función que recibe un parámetro, que será el valor del elemento a borrar, dentro de esta función creamos un Array "temp" con un espacio menor que el original -esto con el fin que simule el borrado de un elemento, no podemos modificar directamente la estructura o tamaño de un Array antes creado, por lo que guardaremos el resultado en temp y luego temp le caerá encima al Array original, modificando su estructura- copiamos todos los elementos a excepsión del elemento a borrar, luego el Array original "num" tendrá la estructura y elementos del Array "temp".

static void Eliminar(int var) {
        System.out.println("\nEliminación: " + var);
        int[] temp = new int[4];
        int contador = 0, aux = 0;
        
        while (contador < num.length) {
            if (num[contador] != var) {
                temp[aux] = num[contador];
                aux++;
            }
            contador++;
        }
        num = temp;
    }

_salida

Eliminación: 100

Ejemplo anterior escrito en Java Código fuente

Y este es otro ejemplo escrito en PHP, que posee la misma lógica. Código fuente

Espero les pueda ser muy útil

#HappyCoding



comentarios proporcionados por Disqus