Está en la página 1de 44

Arreglos

Vector o Arreglo
Un vector (o arreglo unidimensional) es una estructura de datos en la cual se almacena un conjunto de datos de un mismo tipo.
Unidimensional

Multidimensional

Vector o Arreglo
Es una lista de n elementos que posee las siguientes caractersticas:
Se identifica por un nico nombre de variable. sus elementos se almacenan en posiciones contiguas de memoria. se accede a cada uno de sus elementos en forma aleatoria.

Vector o Arreglo

Vector o Arreglo

Vector o Arreglo

Vector o Arreglo

Vector o Arreglo

Arreglo
Un arreglo en Java es un grupo de posiciones de memoria contiguas, todas las cuales tienen el mismo nombre y el mismo tipo. Un arreglo es un agregado homogneo ya que combina un conjunto de datos del mismo tipo.

Declaracin de arreglos
Los arreglos ocupan espacio en memoria. En java se usa el operador new para asignar espacio de almacenamiento al nmero de elementos requerido por cada arreglo.
Un arreglo empieza en 0, es decir, la primer localidad del arreglo es la localidad 0. Ejemplo:

int a[ ] = new int [6];

Declaracin de arreglos
En Java hay que declarar un arreglo antes de poder utilizarlo. Y en la declaracin hay que incluir el nombre del arreglo y el tipo de datos que se van a almacenar en l. La sintaxis general para declarar e instanciar un arreglo es:

tipoDato[ ] nombreArreglo = new tipoDato[tamao];


tipoDato nombreArreglo [ ] = new tipoDato[tamao];

Declaracin de arreglos
Se pueden declarar en Java arreglos de cualquier tipo:

char letras[] = new char[10]; int edades[] = new int[15]; float tallas[] = new float[20];
String nombres[] = String[10];

Declaracin de arreglos
int A[];
// A es un arreglo de enteros

int[] A; int A[10];


int A,B[]; int[] A,B;

// A es un arreglo de enteros
// error, el tamao no va aqu // A es un entero, B un arreglo // A y B son arreglos

String S[];

// S es un arreglo de strings

Declaracin de arreglos
Crear un arreglo con sus valores iniciales:
String nombres[] = { "Juan","Pepe","Pedro","Maria" }; int Edades[] = {15, 20, 21, 34}; float tallas[] = {65.5f, 70.0f, 85.30f, 90.20f}; double tallas[] = {65.5, 70.0, 85.30, 90.20};

Declaracin de arreglos
Por tanto, si un arreglo tiene n componentes, la ltima localidad est dada por n-1.
n elementos

n-1

Cambiar el contenido del Arreglo


Para referirnos a una posicin o elemento en particular del arreglo, especificamos el nombre del arreglo y el nmero de posicin de ese elemento en el arreglo. Ejemplo a[i] = 0;
donde i es el ndice que representa la posicin dentro del arreglo donde reside el componente a accesar.

Vector o Arreglo
0 1 2 3 4 5 6

a[0] = 9;

9 5 6 2 4 8 3

a[1] = 5;
a[2] = 6; a[3] = 2;

9 5 6 2 4 8 3
9 5 6 2 4 8 3 9 5 6 2 4 8 3

a[4] = 4;
a[5] = 8; a[6] = 3;

9 5 6 2 4 8 3
9 5 6 2 4 8 3 9 5 6 2 4 8 3

Cmo recorrer un arreglo...


Los arreglos son recorridos de manera secuencial. Los ciclos for nos sirven para esto. Observar el siguiente ejemplo donde el for nos ayuda a elevar al cuadrado todos los elementos del arreglo:

int[] arr = {6, 2, 8, 4, 3}; for(int i = 0; i < arr.length; i++) { arr[i] *= arr[i]; }

Cmo recorrer un arreglo...


A
9 5 6 2 4 8 3

Sumar 5 a cada elemento del arreglo:

for(int i = 0; i < 7; i++) { A[i] = A[i] + 5; }

Lectura de datos
int n; System.out.print("Introduzca un nmero entero: "); n = sc.nextInt();
double x; System.out.print("Introduzca nmero de tipo double: "); n = sc.nextDouble(); String s; System.out.print("Introduzca texto: "); s = sc.nextLine();

Ejercicio con arreglos


import java.util.Scanner;
public class ArreProm { public static void main(String[] args) { Scanner teclado = new Scanner(System.in); int i = 0, Suma = 0, N = 5; double Promedio; int Calificaciones[] = new int [N];

Ejercicio con arreglos


System.out.println("Proceso de captura de los Datos"); System.out.println("\n"); for (i=0; i<N; i++) {

System.out.println("Introduzca la calificacin[" + (i+1) + "]: " );

Calificaciones[i] = teclado.nextInt();

Ejercicio con arreglos


for (i=0; i<N; i++) { Suma = Suma + Calificaciones[i]; }
Promedio = Suma/N; System.out.println("\nEl promedio = " + Promedio);

Ejercicio con arreglos

10

. . . 100

Ejercicio con arreglos


Dado 2 arreglos de 7 nmeros de entrada, generar un tercero con el nmero Mayor de cada casilla.

A B C

9 5 6 2 4 8 3 3 6 1 7 8 9 1

9 6 6 7 8 9 3

Bsquedas en Arreglos

Bsqueda de un elemento
La bsqueda de un elemento es la determinacin de la localidad de un elemento con ciertas caractersticas. Una salida de 1 indicara que el elemento no se encontr.

Bsqueda secuencial
El mtodo de bsqueda mediante la fuerza bruta para recorrer un arreglo, lo hace a partir de un extremo y comparando cada elemento buscando una correspondencia. Este mtodo se llama bsqueda secuencial.

Ejemplo de Bsquedas
Se tiene un arreglo ordenado de 19 casillas.

Si buscamos el nmero 107. En que posicin del arreglo se encuentra? Cuntas comparaciones se hacen? Posicin = 16 Comparaciones = 17
En cul fue el nmero menor de comparaciones? Por qu?

Bsqueda secuencial

Bsqueda secuencial
int i = 0; boolean encontrado=false;
Dato buscado

while (i < arre.length && arre[i] != valor) { i++; }


if( (i< arre.length) && (arre[i] == valor)) encontrado = true;

Arreglos multidimensionales
Se les llama as a aquellos arreglos que contienen dos o mas dimensiones.
Declaracin de un arreglo de dos dimensiones:
int[][] arre;

Creacin de un arreglo de dos dimensiones:


int[][] arre = new int[3][2];

Arreglos Bidimensionales

Arreglos Bidimensionales

Arreglos bidimensionales

Arreglos bidimensionales

El nmero de elementos sera: 3 x 2 = 6, dnde 3 es el nmero de filas y 2 es el nmero de columnas.


matriz[0][0] matriz[0][1] matriz[1][0] matriz[1][1] matriz[2][0] matriz[2][1] = = = = = = 1; 2; 3; 4; 5; 6;

Matriz con valores

1
3

2
4

Arreglos bidimensionales
Guardar un Dato en un Arreglo bidimensional o Matriz

Arreglos bidimensionales
Accediendo a un Dato almacenado en una matriz

Arreglos bidimensionales
Operaciones matemticas con los valores de una Matriz

Arreglos bidimensionales
Recorrido de un Arreglo bidimensional

Arreglos bidimensionales
Recorrido de un Arreglo bidimensional

Arreglos bidimensionales

Arreglos bidimensionales
int[][] Niveleidioma = {{7,14,8,3}, {6,19,7,2},{3,13,4,1}};

Arreglos bidimensionales
public class MatrizAlumnos { public static void main(String arg[]) { String [ ][ ] nombreAlumno = new String[5][25];
nombreAlumno[2][23] = Pedro Hernndez Gonzlez;
System.out.println(El
alumno nmero 24 del curso tercero se llama +

nombreAlumno[2][23]);

También podría gustarte