Professional Documents
Culture Documents
Universidad de Cartagena
Notas de autor
La correspondencia relacionada con este trabajo debe ser dirigida a Luis Polo
Contacto: luis.chily@gmail.com
Encabezado: Vectores y Matrices 2
Tabla de contenido
ESTRUCTURA DE DATOS............................................................................................. 3
ESTRUCTURA DE DATOS
Las estructuras de datos estáticas son aquellas en las que el tamaño ocupado en memoria
del programa. Estas estructuras están implementada en casi todos los lenguajes de
restricciones en el tamaño de memoria ocupada, que son propias de las estructuras estáticas.
estructuras de datos dinámicas, que son soportadas por la mayoría de lenguajes. Las
estructuras de datos dinámicas por excelencia son: las listas (enlazadas, pilas y colas), arboles
Pero en este trabajo hablaremos sobre las estructuras de datos estáticas, que son las que
veremos a continuación.
Encabezado: Vectores y Matrices 4
De una dimensión.
De dos dimensión.
Un arreglo unidimensional es un tipo de datos estructurado que está formado por una
colección finita y ordenada de datos del mismo tipo. Es la estructura natural para modelar
listas de elementos iguales. Los datos que se guarden en los arreglos todos deben ser del
mismo tipo.
acceder a cualquier elemento del arreglo sin tener que consultar a elementos anteriores o
posteriores, esto mediante el uso de un índice para cada elemento del arreglo que nos da su
posición relativa.
Encabezado: Vectores y Matrices 5
Los arreglos nos permiten hacer un conjunto de operaciones para manipular los datos
guardados en ellos, estas operaciones son: ordenar, buscar, insertar, eliminar, modificar
TIPO
Var
Ejemplos:
TIPO
var
N, M: nombres
TIPO
Número=arreglo[1..100] de entero
var
NUM: número
Encabezado: Vectores y Matrices 6
Tipo_de_variable[ ] Nombre_del_array;
Sería así:
Esto crea e inicializa un arreglo de n elementos con valores var1, var2, varn.
Ejemplos:
Ingresar Datos
obtener/almacenar uno de sus elementos se utiliza un índice (una variable), el índice indica
almacenar 6 elementos pero solo tendrá 5 posiciones (puesto que se empieza desde la
elementos almacenados.
nombre_vector [indice/posicion]=valor_asignar;
miArreglo[1]=7;
De las cosas que vamos a necesitar hacer a menudo será realizar búsquedas, ya sea en un
arreglo, en un resultset, listas o lo que sea que almacene datos, por ello deberemos tener a
lado nuestra función de búsqueda. Para realizar búsquedas existen diversos métodos, aquí
solo les doy el ejemplo con el método más sencillo el cual recorre un arreglo hasta
encontrar la posición del primer elemento que coincida con lo que mandamos a buscar.
Como se ve, conviene que el primer parámetro sea el arreglo y el otro sea la cadena a
Ejemplo:
int index=-1;
for(int i=0;i<arr.length;i++)
{
Encabezado: Vectores y Matrices 9
index=i;
break;
return index;
Para listar los elementos de un Array en Java deberemos de conocer la posición de cada
elemento susceptible de ser listado. En el caso de querer listar todos los elementos
del Array tendremos que recorrer, uno a uno, cada uno de los elementos que comprenden
el Array.
Lo primero que tenemos que saber es que para listar un determinado elemento
System.out.println(miArray[posicion]);
Para mostrar todos los elementos utilizaremos una estructura repetitiva (por ejemplo el
bucle for). Tendremos que iterar tantas veces como elementos comprendan el Array. Para
2. System.out.println(miArray[x]);
Encabezado: Vectores y Matrices 10
buscar si existe un cierto dato, añadir un dato al final de los existentes, insertar un dato
entre dos que ya hay, borrar uno de los datos almacenados, etc. Por eso, vamos a ver las
Para ver si un dato existe, habrá que recorrer todo el array, comparando el valor
almacenado con el dato que se busca. Puede interesarnos simplemente saber si está o no
(con lo que se podría interrumpir la búsqueda en cuanto aparezca una primera vez) o ver en
qué posiciones se encuentra (para lo que habría que recorrer todo el array). Si el array
estuviera ordenado, se podría buscar de una forma más rápida, pero la veremos más
adelante.
Para poder añadir un dato al final de los ya existentes, necesitamos que el array no esté
Para insertar un dato en una cierta posición, los que queden detrás deberán desplazarse
"hacia la derecha" para dejarle hueco. Este movimiento debe empezar desde el final para
que cada dato que se mueve no destruya el que estaba a continuación de él. También habrá
que actualizar el contador, para indicar que queda una posición libre menos.
Si se quiere borrar el dato que hay en una cierta posición, los que estaban a continuación
deberán desplazarse "hacia la izquierda" para que no queden huecos. Como en el caso
anterior, habrá que actualizar el contador, pero ahora para indicar que queda una posición
libre más.
Encabezado: Vectores y Matrices 11
También conocidas como matrices, son un tipo especial de vectores, funcionan de forma
parecida que un vector, de igual forma almacenan elementos de un mismo tipo, el acceso a
En donde:
int es el tipo de dato para los elementos de la matriz, esta matriz sólo puede
el operador = le dice al compilador que ese vector debe apuntar a una zona de
la palabra reservada new crea un espacio en memoria para la matriz y la palabra int
[5] [2] el número entre corchetes le indica que la dimensión que tendrá la matriz, el
elemento5,elemento6}};
Ejemplo:
En el caso anterior hemos declarado y llenado una matriz con elementos fijos, la
La llaves externas definen la matriz, para separar cada fila lo hacemos con llaves{}
Para separa las columnas se utiliza una coma (,) después de cada elemento.
nombre_matriz [posfila][poscolumna]=elemento;
Encabezado: Vectores y Matrices 13
Ejemplo:
miMatriz[0][0]=5;
miMatriz[0][1]=8;
miMatriz[0][2]=1;
miMatriz[1][0]=9;
miMatriz[1][1]=7;
miMatriz[1][2]=2;
miMatriz[2][0]=10;
miMatriz[2][1]=15;
miMatriz[2][2]=25;
imagen:
Encabezado: Vectores y Matrices 14
Como podemos observar las matrices al igual que los vectores empiezan desde la
posición cero (0), es por eso que siempre para llenar o acceder a un elemento, debemos
La forma anterior que muestra cómo llenar una matriz es un poco tedioso ya que si
fueran muchos elementos tendríamos que repetir líneas de código, una buena forma de
llenar una matriz es hacerlo un poco más dinámico utilizando 2 ciclos for, uno para manejar
miMatriz[i][j]=entrada.nextInt();
En este caso se ha llenado pidiendo elementos desde la consola, en donde los índices
De la misma forma que se puede llenar una matriz utilizando las posiciones vistas en el
ejemplo anterior, también se puede accesar a sus elementos utilizando las posiciones.
int var=miMatriz[0][2];
Otra forma de acceder a los elementos de una matriz es recorrerla utilizando ciclos for,
en este caso vamos a imprimir los elementos de la matriz del ejemplo anterior.
System.out.print(String.format(" %d ",miMatriz[i][j]));
System.out.println();
}
Encabezado: Vectores y Matrices 16