Академический Документы
Профессиональный Документы
Культура Документы
Programaci on I - UNGS
Arreglos
Un arreglo es una colecci on de valores donde:
2 of 15
Arreglos
Un arreglo es una colecci on de valores donde: Cada valor est a identicado por un ndice,
2 of 15
Arreglos
Un arreglo es una colecci on de valores donde: Cada valor est a identicado por un ndice, Todos los valores son del mismo tipo,
2 of 15
Arreglos
Un arreglo es una colecci on de valores donde: Cada valor est a identicado por un ndice, Todos los valores son del mismo tipo, El largo de la colecci on es jo.
2 of 15
Arreglos
Un arreglo es una colecci on de valores donde: Cada valor est a identicado por un ndice, Todos los valores son del mismo tipo, El largo de la colecci on es jo. Los arreglos son objetos.
2 of 15
Declaraci on
Se pueden denir arreglos de cualquier tipo.
3 of 15
Declaraci on
Se pueden denir arreglos de cualquier tipo. El tipo de un arreglo se escribe como el tipo de los valores que
3 of 15
Declaraci on
Se pueden denir arreglos de cualquier tipo. El tipo de un arreglo se escribe como el tipo de los valores que
3 of 15
Declaraci on
Se pueden denir arreglos de cualquier tipo. El tipo de un arreglo se escribe como el tipo de los valores que
3 of 15
Declaraci on
Se pueden denir arreglos de cualquier tipo. El tipo de un arreglo se escribe como el tipo de los valores que
Cu anto vale un arreglo que no fue inicializado? Las variables de tipo arreglo valen null hasta no ser inicializadas
3 of 15
Creaci on
Para crear un objeto del tipo arreglo, usamos la palabra new en una expresi on de la forma new tipo[largo].
4 of 15
Creaci on
Para crear un objeto del tipo arreglo, usamos la palabra new en una expresi on de la forma new tipo[largo]. Por ejemplo:
1 2
4 of 15
Creaci on
Para crear un objeto del tipo arreglo, usamos la palabra new en una expresi on de la forma new tipo[largo]. Por ejemplo:
1 2
un arreglo de doubles del tama no que indique largo al momento de ejecutarse la sentencia.
4 of 15
Creaci on
Para crear un objeto del tipo arreglo, usamos la palabra new en una expresi on de la forma new tipo[largo]. Por ejemplo:
1 2
un arreglo de doubles del tama no que indique largo al momento de ejecutarse la sentencia. Los elementos se inicializan con el valor por defecto del tipo correspondiente (0 para los n umeros, false para boolean, null para objetos)
4 of 15
de la variable que referencia al arreglo seguido del ndice entre corchetes ([i]).
5 of 15
de la variable que referencia al arreglo seguido del ndice entre corchetes ([i]). Por ejemplo, cuenta[0] es el primer elemento del arreglo, cuenta[1] el segundo y cuenta[i] es el elemento en la posici on i.
5 of 15
de la variable que referencia al arreglo seguido del ndice entre corchetes ([i]). Por ejemplo, cuenta[0] es el primer elemento del arreglo, cuenta[1] el segundo y cuenta[i] es el elemento en la posici on i. Los elementos de un arreglo pueden ser utilizados como cualquier otra variable:
1 2 3 4
5 of 15
de la variable que referencia al arreglo seguido del ndice entre corchetes ([i]). Por ejemplo, cuenta[0] es el primer elemento del arreglo, cuenta[1] el segundo y cuenta[i] es el elemento en la posici on i. Los elementos de un arreglo pueden ser utilizados como cualquier otra variable:
1 2 3 4
5 of 15
Copiar arreglos
Qu e efecto tendr a el siguiente c odigo?
1 2
6 of 15
Copiar arreglos
Qu e efecto tendr a el siguiente c odigo?
1 2
0.0
1
0.0
2
6 of 15
Copiar arreglos
Qu e efecto tendr a el siguiente c odigo?
1 2
0.0
1
0.0
2
aliasing.
6 of 15
Copiar arreglos
Para copiar un arreglo no tenemos otro remedio que crear uno
7 of 15
Copiar arreglos
Para copiar un arreglo no tenemos otro remedio que crear uno
nuevo y copiar elemento a elemento. Podemos utilizar la variable de instancia length que contiene el largo del arreglo:
1 2 3 4 5
7 of 15
Copiar arreglos
Para copiar un arreglo no tenemos otro remedio que crear uno
nuevo y copiar elemento a elemento. Podemos utilizar la variable de instancia length que contiene el largo del arreglo:
1 2 3 4 5
double[ ] b = a.clone();
7 of 15
Consideraciones de eciencia
El concepto de secuencia es algo muy cotidiano.
8 of 15
Consideraciones de eciencia
El concepto de secuencia es algo muy cotidiano. Ejemplos:
8 of 15
Consideraciones de eciencia
El concepto de secuencia es algo muy cotidiano. Ejemplos: Lista de compras del supermercado (productos).
8 of 15
Consideraciones de eciencia
El concepto de secuencia es algo muy cotidiano. Ejemplos: Lista de compras del supermercado (productos). Cartelera del cine (pel culas).
8 of 15
Consideraciones de eciencia
El concepto de secuencia es algo muy cotidiano. Ejemplos: Lista de compras del supermercado (productos). Cartelera del cine (pel culas). Lista de invitados a un evento (personas).
8 of 15
Consideraciones de eciencia
El concepto de secuencia es algo muy cotidiano. Ejemplos: Lista de compras del supermercado (productos). Cartelera del cine (pel culas). Lista de invitados a un evento (personas). etc.
8 of 15
Consideraciones de eciencia
El concepto de secuencia es algo muy cotidiano. Ejemplos: Lista de compras del supermercado (productos). Cartelera del cine (pel culas). Lista de invitados a un evento (personas). etc. Cuando tenemos que representar el concepto de secuencia en una
8 of 15
Consideraciones de eciencia
El concepto de secuencia es algo muy cotidiano. Ejemplos: Lista de compras del supermercado (productos). Cartelera del cine (pel culas). Lista de invitados a un evento (personas). etc. Cuando tenemos que representar el concepto de secuencia en una
8 of 15
operador [ ].
9 of 15
operador [ ].
Los elementos se guardan en memoria en forma consecutiva.
9 of 15
operador [ ].
Los elementos se guardan en memoria en forma consecutiva. Si cada elemento ocupa s bytes, encontrar el elemento en la
s i*s
9 of 15
operador [ ].
Los elementos se guardan en memoria en forma consecutiva. Si cada elemento ocupa s bytes, encontrar el elemento en la
s i*s
encuentra un valor (si est a), no tenemos otro remedio que recorrer el arreglo entero.
10 of 15
encuentra un valor (si est a), no tenemos otro remedio que recorrer el arreglo entero.
Por ejemplo, esta ser a una implementaci on posible:
1 2 3 4 5 6 7 8
static int buscarValor(int[ ] arreglo, int val) { for(int i = 0; i < arreglo.length; i++) { if(arreglo[i] == val) { return i; //Devuelve la posici on } } return 1; //Devuelve 1 si no se encontr o }
10 of 15
11 of 15
11 of 15
Operaciones: Inserci on
Agregar un elemento nuevo a un arreglo, es imposible. La cantidad
12 of 15
Operaciones: Inserci on
Agregar un elemento nuevo a un arreglo, es imposible. La cantidad
tama no mayor al anterior, copiar todos los elementos y nalmente copiar el valor que queremos agregar.
12 of 15
Operaciones: Inserci on
Agregar un elemento nuevo a un arreglo, es imposible. La cantidad
tama no mayor al anterior, copiar todos los elementos y nalmente copiar el valor que queremos agregar.
Nuevamente, si hici eramos esto u ltimo, el tiempo de ejecuci on de
12 of 15
Operaciones: Eliminaci on
Algo similar ocurre con el borrado de elementos: la cantidad es
siempre la misma.
13 of 15
Operaciones: Eliminaci on
Algo similar ocurre con el borrado de elementos: la cantidad es
siempre la misma.
Podemos de manera an aloga crear un arreglo nuevo en que
13 of 15
Operaciones: Eliminaci on
Algo similar ocurre con el borrado de elementos: la cantidad es
siempre la misma.
Podemos de manera an aloga crear un arreglo nuevo en que
13 of 15
Conclusi on
Los arreglos son una estructura de datos para almacenar una
14 of 15
Conclusi on
Los arreglos son una estructura de datos para almacenar una
14 of 15
Conclusi on
Los arreglos son una estructura de datos para almacenar una
14 of 15
Conclusi on
Los arreglos son una estructura de datos para almacenar una
14 of 15
Preguntas?
Preguntas?
15 of 15