La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Universidad Nacional Mayor de San Marcos Facultad de Ciencias Matemáticas Arrays.

Presentaciones similares


Presentación del tema: "Universidad Nacional Mayor de San Marcos Facultad de Ciencias Matemáticas Arrays."— Transcripción de la presentación:

1 Universidad Nacional Mayor de San Marcos Facultad de Ciencias Matemáticas Arrays

2 D EFINICIÓN Un array es una colección de variables del mismo tipo que se denominan por un nombre común. A un elemento especifico de un array se accede mediante un índice. Los arrays pueden tener de una a varias dimensiones. En Java, los array pueden ser de cualquier tipo de dato, incluidos objetos. El tipo de dato Array es, a su vez, un objeto.

3 La representación de un elemento en un vector se suele hacer mediante el identificador del vector seguido del índice entre corchetes, paréntesis o llaves:identificador NotaciónEjemplos vector[índice_1,índice_2...,índi ce_N] (Java, Lexico, Perl, etc.)JavaLexicoPerl vector[índice_0][índice_1]...[ín dice_N] (C, C++, PHP, etc.)CC++PHP vector(índice_1,índice_2...,índi ce_N) (Basic)Basic

4 D ECLARAR Y CREAR UN ARRAY Para declarar un array se escribe tipo_de_dato[] nombre_del_array; Para declarar un array de enteros escribimos int[] numeros; Para crear un array de 4 número enteros escribimos numeros=new int[4]; La declaración y la creación del array se puede hacer en una misma línea. int[] numeros =new int[4];

5 V ECTORES DINÁMICOS Y ESTÁTICOS Lo habitual es que un vector tenga una cantidad fija de memoria asignada, aunque dependiendo del tipo de vector y del lenguaje de programación un vector podría tener una cantidad variable de datos. En este caso, se les denomina vectores dinámicos, en oposición, a los vectores con una cantidad fija de memoria asignada se los denomina vectores estáticos. El uso de vectores dinámicos requiere realizar una apropiada gestión de memoria dinámica. Un uso incorrecto de los vectores dinámicos, o mejor dicho, una mala gestión de la memoria dinámica, puede conducir a una fuga de memoria. Al utilizar vectores dinámicos siempre habrá que liberar la memoria utilizada cuando ésta ya no se vaya a seguir utilizando. Declaración en C++ de un vector de STL: #include vector v; // Si no se especifica el tamaño inicial es 0 for (int i=0 ; i<5 ; i++) { v.push_back(2*i); // inserta un elemento al final del vector }

6 D ECLARACIÓN DE V ECTORES DINÁMICOS Y ESTÁTICOS Declaración en C/C++ de un vector estático. int v[5]; int i; for (i=0 ; i<5 ; i++) { v[i] = 2*i; } Declaración en C/C++ de un vector dinámico. #include using namespace std; int main() { int **tabla; int n = 134; int m = 231; int i; // Array de punteros a int: tabla = new int*[n]; // n arrays de m int for(i = 0; i < n; i++) tabla[i] = new int[m]; tabla[21][33] = 123; cout << tabla[21][33] << endl; // Liberar memoria: for(i = 0; i < n; i++) delete[] tabla[i]; delete[] tabla; return 0; }

7 C ADENAS Una cadena cadena de caracteres (string) es un conjunto de caracteres (incluido el blanco o tambien llamado carácter nulo) que se almacenan en localidades contiguas de memoria. Se representa como un vector de caracteres donde cada elemento del vector representa un carácter de la cadena. Nótese que una cadena de n caracteres requerirá un vector de n+1 elementos, debido al carácter nulo \0que se añade automáticamente al nal de la cadena.

8 C OMO SE GUARDA UNA CADENA Almacenar la cadena Camisa en un vector llamado Prenda. Nro. De Elemento Valor del índice Elemento del vector Carácter de la cadena 10Prenda[0]C 21Prenda[1]a 32Prenda[2]m 43Prenda[3]i 54Prenda[4]s 65Prenda[5]a 76Prenda[6]\0

9 D ECLARACIÓN DE UNA CADENA DE CARACTERES #define MAXC 240 // Numero máximo de caracteres es 240 char palabra[MAXC] = {H, o, l, a, \0}; char palabra[MAXC] = Hola; char palabra[] = Hola; // Longitud máxima de la cadena es 5 // (4 caracteres + \0)

10 E JEMPLO EN C++ El siguiente ejemplo carga un array bidimensional con los números del 1 al 12 y luego los imprime en pantalla. #include main(void) { int t, i, num [3][4]; for(t=0; t<=3;t++){ for(i=0; i<4;i++) { num[t][i]=(t*4)+i+1; } } /* ahora mostrarlos*/ for(t=0; t<=3;t++){ for(i=0 i<4;i++) { printf(%d,num[t][i]); printf(\n);} } return 0;


Descargar ppt "Universidad Nacional Mayor de San Marcos Facultad de Ciencias Matemáticas Arrays."

Presentaciones similares


Anuncios Google