La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Arrays Universidad Nacional Mayor de San Marcos

Presentaciones similares


Presentación del tema: "Arrays Universidad Nacional Mayor de San Marcos"— Transcripción de la presentación:

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

2 Definició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 vector[índice_1,índice_2...,índice_N] (Java, Lexico, Perl, etc.)
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: Notación Ejemplos vector[índice_1,índice_2...,índice_N] (Java, Lexico, Perl, etc.) vector[índice_0][índice_1]...[índice_N] (C, C++, PHP, etc.) vector(índice_1,índice_2...,índice_N) (Basic)

4 Declarar 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 Vectores 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> vector<int> 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 Declaración de Vectores 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 <iostream> 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 Cadenas 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 ‘\0’que se añade automáticamente al final de la cadena.

8 Como 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 1 Prenda[0] ‘C’ 2 Prenda[1] ‘a’ 3 Prenda[2] ‘m’ 4 Prenda[3] ‘i’ 5 Prenda[4] ‘s’ 6 Prenda[5] 7 Prenda[6] ‘\0’

9 Declaració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 Ejemplo en C++ El siguiente ejemplo carga un array bidimensional con los números del 1 al 12 y luego los imprime en pantalla. #include<stdio.h> 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(i=0 i<4;i++) { printf(“%d”,num[t][i]); printf(“\n”);} return 0;


Descargar ppt "Arrays Universidad Nacional Mayor de San Marcos"

Presentaciones similares


Anuncios Google