SlideShare una empresa de Scribd logo
1 de 10
En programación, una matriz o vector (llamado en inglés array) es
una zona de almacenamiento continuo, que contiene una serie de
elementos del mismo tipo, los elementos de la matriz. Desde el
punto de vista lógico una matriz se puede ver como un conjunto de
elementos ordenados en fila (o filas y columnas si tuviera dos
dimensiones).
En principio, se puede considerar que todas las matrices son de
una dimensión, la dimensión principal, pero los elementos de dicha
fila pueden ser a su vez matrices (un proceso que puede ser
recursivo), lo que nos permite hablar de la existencia de matrices
multidimensionales, aunque las más fáciles de imaginar son los de
una, dos y tres dimensiones.
Estas estructuras de datos son adecuadas para situaciones en las
que el acceso a los datos se realice de forma aleatoria e
impredecible. Por el contrario, si los elementos pueden estar
ordenados y se va a utilizar acceso secuencial sería más adecuado
utilizar una lista, ya que esta estructura puede cambiar de tamaño
fácilmente durante la ejecución de un programa.
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.
Lenguajes más modernos y de más alto nivel, cuentan con un mecanismo denominado recolector
de basura (como es el caso de Java) que permiten que el programa decida si debe liberar el
espacio basándose en si se va a utilizar en el futuro o no un determinado objeto.
Ejemplos en C
Declaración en C/C++ de un vector estático.
int main(void)
{
int i, v[5]; // v[5] es un vector de 5 componentes
for(i=0; i<5; i++)
{
v[i] = 0; // Asignamos un valor
printf("%dn", v[i]);
printf("n"); // Crea una nueva línea
}
return 0
}
}
Declaración en C/C++ de un vector estático utilizando aritmética de punteros.
Siendo el identificador del vector, un puntero constante que contiene la dirección del
comienzo del vector (vector[0], primer elemento)
int main(void)
{
int i, v[5]; // v[5] es un vector de 5 componentes
for(i=0; i<5; i++)
{
*(v + i) = 0; // Asignamos un valor en la dirección (vector + ((índice * sizeof (int)
cantidad de bytes de desplazamiento desde la base.)
printf("%dn", *(vector + i)); printf("n"); // Crea una nueva línea } return 0
}
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
}
Puede almacenar distintas variables del mismo tipo en una estructura de datos de matriz. Para declarar una matriz especifique el
tipo de sus elementos.
type[] arrayName;
Los ejemplos siguientes crean matrices unidimensionales, multidimensionales y escalonadas:
C#
class TestArraysClass
{
static void Main()
{
// Declare a single-dimensional array
int[] array1 = new int[5];
// Declare and set array element values
int[] array2 = new int[] { 1, 3, 5, 7, 9 };
// Alternative syntax
int[] array3 = { 1, 2, 3, 4, 5, 6 };
// Declare a two dimensional array
int[,] multiDimensionalArray1 = new int[2, 3];
// Declare and set array element values
int[,] multiDimensionalArray2 = { { 1, 2, 3 }, { 4, 5, 6 } };
// Declare a jagged array
int[][] jaggedArray = new int[6][];
// Set the values of the first array in the jagged array structure
jaggedArray[0] = new int[4] { 1, 2, 3, 4 };
}
}
Información general sobre las matrices
Una matriz tiene las propiedades siguientes:
Una matriz puede ser unidimensional, multidimensional o escalonada.
El número de dimensiones y la longitud de cada dimensión se establecen cuando se
crea la instancia de la matriz. Estos valores no se pueden cambiar durante la duración
de la instancia.
Los valores predeterminado de los elementos numéricos de matriz se establece en
cero y el de los elementos de referencia se establece en null.
Una matriz escalonada es una matriz de matrices y por consiguiente sus elementos
son tipos de referencia y se inicializan en null.
Las matrices se indizan basadas en cero: una matriz con n elementos se indiza desde
0 hasta n-1.
Los elementos de una matriz pueden ser de cualquier tipo, incluido el tipo matriz.
Los tipos de matriz son tipos de referencia derivados del tipo base abstracto Array.
Puesto que este tipo implementa IEnumerable e IEnumerable<T>, puede utilizar la
iteración foreach en todas las matrices de C#.
Secciones relacionadas
Utilizar matrices como objetos (Guía de programación de C#)
Utilizar foreach con matrices (Guía de programación de C#)
Pasar matrices como argumentos (Guía de programación de C#)
Pasar matrices mediante Ref y Out (Guía de programación de C#)
Más información sobre variables en Comenzar a usar Visual C# 2010
Presentacion de vectores y matrices

Más contenido relacionado

La actualidad más candente

Vectores de dos dimensiones
Vectores de dos dimensionesVectores de dos dimensiones
Vectores de dos dimensionesTU Robertito
 
Serie Fibonacci en C
Serie Fibonacci en CSerie Fibonacci en C
Serie Fibonacci en CAbraham
 
Tipo de datos_para_c++
Tipo de datos_para_c++Tipo de datos_para_c++
Tipo de datos_para_c++MartinCetis109
 
Calculo de aproximaciones usando la diferencial
Calculo de aproximaciones usando la diferencialCalculo de aproximaciones usando la diferencial
Calculo de aproximaciones usando la diferencialagascras
 
Movimiento rectilíneo uniformemente acelerado practica 1 cinemática y dinámica
Movimiento rectilíneo uniformemente acelerado practica 1 cinemática y dinámicaMovimiento rectilíneo uniformemente acelerado practica 1 cinemática y dinámica
Movimiento rectilíneo uniformemente acelerado practica 1 cinemática y dinámicaJezus Infante
 
3. Utilización de los objetos predefinidos del lenguaje
3. Utilización de los objetos predefinidos del lenguaje3. Utilización de los objetos predefinidos del lenguaje
3. Utilización de los objetos predefinidos del lenguajeLaura Folgado Galache
 
Ejercicios resueltos de punteros 12a15
Ejercicios resueltos de punteros 12a15Ejercicios resueltos de punteros 12a15
Ejercicios resueltos de punteros 12a15rasave
 
Fisica 1 Laboratorio - ley de hooke
Fisica 1 Laboratorio - ley de hooke Fisica 1 Laboratorio - ley de hooke
Fisica 1 Laboratorio - ley de hooke Joe Arroyo Suárez
 
Virus informaticos
Virus informaticosVirus informaticos
Virus informaticosIvan Cuautle
 
Estructuras condicionales
Estructuras condicionalesEstructuras condicionales
Estructuras condicionaleswladimirclipper
 
Maquinassimples proyectofisica2-110216163224-phpapp02
Maquinassimples proyectofisica2-110216163224-phpapp02Maquinassimples proyectofisica2-110216163224-phpapp02
Maquinassimples proyectofisica2-110216163224-phpapp02Miguel Muñoz Gonzalez
 
DINAMICA ROTACIONAL: BACHILLERATO
DINAMICA ROTACIONAL: BACHILLERATODINAMICA ROTACIONAL: BACHILLERATO
DINAMICA ROTACIONAL: BACHILLERATOESPOL
 
Coordenadas Polares, Geográficas y Plano Cartesiano
Coordenadas Polares, Geográficas y Plano CartesianoCoordenadas Polares, Geográficas y Plano Cartesiano
Coordenadas Polares, Geográficas y Plano Cartesianomumbil
 

La actualidad más candente (20)

Vectores de dos dimensiones
Vectores de dos dimensionesVectores de dos dimensiones
Vectores de dos dimensiones
 
7.arreglos en java
7.arreglos en  java7.arreglos en  java
7.arreglos en java
 
Serie Fibonacci en C
Serie Fibonacci en CSerie Fibonacci en C
Serie Fibonacci en C
 
Arreglos c++
Arreglos c++Arreglos c++
Arreglos c++
 
Semana 5 Java Swing
Semana 5   Java SwingSemana 5   Java Swing
Semana 5 Java Swing
 
Tipo de datos_para_c++
Tipo de datos_para_c++Tipo de datos_para_c++
Tipo de datos_para_c++
 
Calculo de aproximaciones usando la diferencial
Calculo de aproximaciones usando la diferencialCalculo de aproximaciones usando la diferencial
Calculo de aproximaciones usando la diferencial
 
Movimiento rectilíneo uniformemente acelerado practica 1 cinemática y dinámica
Movimiento rectilíneo uniformemente acelerado practica 1 cinemática y dinámicaMovimiento rectilíneo uniformemente acelerado practica 1 cinemática y dinámica
Movimiento rectilíneo uniformemente acelerado practica 1 cinemática y dinámica
 
3. Utilización de los objetos predefinidos del lenguaje
3. Utilización de los objetos predefinidos del lenguaje3. Utilización de los objetos predefinidos del lenguaje
3. Utilización de los objetos predefinidos del lenguaje
 
Ejercicios resueltos de punteros 12a15
Ejercicios resueltos de punteros 12a15Ejercicios resueltos de punteros 12a15
Ejercicios resueltos de punteros 12a15
 
Fisica 1 Laboratorio - ley de hooke
Fisica 1 Laboratorio - ley de hooke Fisica 1 Laboratorio - ley de hooke
Fisica 1 Laboratorio - ley de hooke
 
Semana 6 cantidad de movimiento
Semana 6 cantidad de movimientoSemana 6 cantidad de movimiento
Semana 6 cantidad de movimiento
 
Virus informaticos
Virus informaticosVirus informaticos
Virus informaticos
 
Estructuras condicionales
Estructuras condicionalesEstructuras condicionales
Estructuras condicionales
 
Introduccion a python 3
Introduccion a python 3Introduccion a python 3
Introduccion a python 3
 
Estructura Básica de PHP
Estructura Básica de PHPEstructura Básica de PHP
Estructura Básica de PHP
 
Maquinassimples proyectofisica2-110216163224-phpapp02
Maquinassimples proyectofisica2-110216163224-phpapp02Maquinassimples proyectofisica2-110216163224-phpapp02
Maquinassimples proyectofisica2-110216163224-phpapp02
 
DINAMICA ROTACIONAL: BACHILLERATO
DINAMICA ROTACIONAL: BACHILLERATODINAMICA ROTACIONAL: BACHILLERATO
DINAMICA ROTACIONAL: BACHILLERATO
 
Coordenadas Polares, Geográficas y Plano Cartesiano
Coordenadas Polares, Geográficas y Plano CartesianoCoordenadas Polares, Geográficas y Plano Cartesiano
Coordenadas Polares, Geográficas y Plano Cartesiano
 
Eventos del ratón en Java
Eventos del ratón en JavaEventos del ratón en Java
Eventos del ratón en Java
 

Destacado (7)

Actividad 5 trigonometria 4to plano cartesiano
Actividad 5 trigonometria 4to plano cartesianoActividad 5 trigonometria 4to plano cartesiano
Actividad 5 trigonometria 4to plano cartesiano
 
Los vectores en el plano
Los vectores en el planoLos vectores en el plano
Los vectores en el plano
 
Hasta dónde puedes llegar
Hasta dónde puedes llegarHasta dónde puedes llegar
Hasta dónde puedes llegar
 
Vectores. matematicas.
Vectores. matematicas.Vectores. matematicas.
Vectores. matematicas.
 
Importancia del cálculo vectorial Mat III
Importancia del cálculo vectorial Mat IIIImportancia del cálculo vectorial Mat III
Importancia del cálculo vectorial Mat III
 
Vectores dos dimensiones 2010
Vectores dos dimensiones 2010Vectores dos dimensiones 2010
Vectores dos dimensiones 2010
 
Aplicacion vectores
Aplicacion vectoresAplicacion vectores
Aplicacion vectores
 

Similar a Presentacion de vectores y matrices

Similar a Presentacion de vectores y matrices (20)

Vectores en programación
Vectores en programaciónVectores en programación
Vectores en programación
 
Vectores y matrices
Vectores y matricesVectores y matrices
Vectores y matrices
 
Vectores en power point [recuperado]
Vectores en power point [recuperado]Vectores en power point [recuperado]
Vectores en power point [recuperado]
 
Grupo
GrupoGrupo
Grupo
 
Vectores - Informática
Vectores - InformáticaVectores - Informática
Vectores - Informática
 
Estructuras_de_datos_(11-12).pdf- power point arrays
Estructuras_de_datos_(11-12).pdf- power point arraysEstructuras_de_datos_(11-12).pdf- power point arrays
Estructuras_de_datos_(11-12).pdf- power point arrays
 
Vectores y matrices
Vectores y matricesVectores y matrices
Vectores y matrices
 
Los 5 fantasticos
Los 5 fantasticosLos 5 fantasticos
Los 5 fantasticos
 
array
arrayarray
array
 
Cuaderno digital
Cuaderno digitalCuaderno digital
Cuaderno digital
 
Revista digital vectores y matrices
Revista digital vectores y matricesRevista digital vectores y matrices
Revista digital vectores y matrices
 
Cuaderno
CuadernoCuaderno
Cuaderno
 
Cuaderno
CuadernoCuaderno
Cuaderno
 
Clase 10 Estructuras De Datos Y Arreglos
Clase 10 Estructuras De Datos Y ArreglosClase 10 Estructuras De Datos Y Arreglos
Clase 10 Estructuras De Datos Y Arreglos
 
Funciones en lenguage c
Funciones en lenguage cFunciones en lenguage c
Funciones en lenguage c
 
6 A Arrays
6 A Arrays6 A Arrays
6 A Arrays
 
Cap06 arreglos y vectores.
Cap06 arreglos y vectores.Cap06 arreglos y vectores.
Cap06 arreglos y vectores.
 
Arrays
ArraysArrays
Arrays
 
Expo array
Expo arrayExpo array
Expo array
 
Ejercicios de matrices y vectores en c++
Ejercicios de matrices y vectores en c++Ejercicios de matrices y vectores en c++
Ejercicios de matrices y vectores en c++
 

Último

Unidad II Doctrina de la Iglesia 1 parte
Unidad II Doctrina de la Iglesia 1 parteUnidad II Doctrina de la Iglesia 1 parte
Unidad II Doctrina de la Iglesia 1 parteJuan Hernandez
 
Informatica Generalidades - Conceptos Básicos
Informatica Generalidades - Conceptos BásicosInformatica Generalidades - Conceptos Básicos
Informatica Generalidades - Conceptos BásicosCesarFernandez937857
 
codigos HTML para blogs y paginas web Karina
codigos HTML para blogs y paginas web Karinacodigos HTML para blogs y paginas web Karina
codigos HTML para blogs y paginas web Karinavergarakarina022
 
MAYO 1 PROYECTO día de la madre el amor más grande
MAYO 1 PROYECTO día de la madre el amor más grandeMAYO 1 PROYECTO día de la madre el amor más grande
MAYO 1 PROYECTO día de la madre el amor más grandeMarjorie Burga
 
Heinsohn Privacidad y Ciberseguridad para el sector educativo
Heinsohn Privacidad y Ciberseguridad para el sector educativoHeinsohn Privacidad y Ciberseguridad para el sector educativo
Heinsohn Privacidad y Ciberseguridad para el sector educativoFundación YOD YOD
 
La Función tecnológica del tutor.pptx
La  Función  tecnológica  del tutor.pptxLa  Función  tecnológica  del tutor.pptx
La Función tecnológica del tutor.pptxJunkotantik
 
Clasificaciones, modalidades y tendencias de investigación educativa.
Clasificaciones, modalidades y tendencias de investigación educativa.Clasificaciones, modalidades y tendencias de investigación educativa.
Clasificaciones, modalidades y tendencias de investigación educativa.José Luis Palma
 
RAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIA
RAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIARAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIA
RAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIACarlos Campaña Montenegro
 
la unidad de s sesion edussssssssssssssscacio fisca
la unidad de s sesion edussssssssssssssscacio fiscala unidad de s sesion edussssssssssssssscacio fisca
la unidad de s sesion edussssssssssssssscacio fiscaeliseo91
 
PRIMER SEMESTRE 2024 ASAMBLEA DEPARTAMENTAL.pptx
PRIMER SEMESTRE 2024 ASAMBLEA DEPARTAMENTAL.pptxPRIMER SEMESTRE 2024 ASAMBLEA DEPARTAMENTAL.pptx
PRIMER SEMESTRE 2024 ASAMBLEA DEPARTAMENTAL.pptxinformacionasapespu
 
6° SEM30 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
6° SEM30 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx6° SEM30 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
6° SEM30 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docxCeciliaGuerreroGonza1
 
Herramientas de Inteligencia Artificial.pdf
Herramientas de Inteligencia Artificial.pdfHerramientas de Inteligencia Artificial.pdf
Herramientas de Inteligencia Artificial.pdfMARIAPAULAMAHECHAMOR
 
programa dia de las madres 10 de mayo para evento
programa dia de las madres 10 de mayo  para eventoprograma dia de las madres 10 de mayo  para evento
programa dia de las madres 10 de mayo para eventoDiegoMtsS
 
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyz
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyzel CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyz
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyzprofefilete
 
Factores ecosistemas: interacciones, energia y dinamica
Factores ecosistemas: interacciones, energia y dinamicaFactores ecosistemas: interacciones, energia y dinamica
Factores ecosistemas: interacciones, energia y dinamicaFlor Idalia Espinoza Ortega
 
La triple Naturaleza del Hombre estudio.
La triple Naturaleza del Hombre estudio.La triple Naturaleza del Hombre estudio.
La triple Naturaleza del Hombre estudio.amayarogel
 

Último (20)

Defendamos la verdad. La defensa es importante.
Defendamos la verdad. La defensa es importante.Defendamos la verdad. La defensa es importante.
Defendamos la verdad. La defensa es importante.
 
Unidad II Doctrina de la Iglesia 1 parte
Unidad II Doctrina de la Iglesia 1 parteUnidad II Doctrina de la Iglesia 1 parte
Unidad II Doctrina de la Iglesia 1 parte
 
Power Point: "Defendamos la verdad".pptx
Power Point: "Defendamos la verdad".pptxPower Point: "Defendamos la verdad".pptx
Power Point: "Defendamos la verdad".pptx
 
Informatica Generalidades - Conceptos Básicos
Informatica Generalidades - Conceptos BásicosInformatica Generalidades - Conceptos Básicos
Informatica Generalidades - Conceptos Básicos
 
codigos HTML para blogs y paginas web Karina
codigos HTML para blogs y paginas web Karinacodigos HTML para blogs y paginas web Karina
codigos HTML para blogs y paginas web Karina
 
MAYO 1 PROYECTO día de la madre el amor más grande
MAYO 1 PROYECTO día de la madre el amor más grandeMAYO 1 PROYECTO día de la madre el amor más grande
MAYO 1 PROYECTO día de la madre el amor más grande
 
Unidad 3 | Teorías de la Comunicación | MCDI
Unidad 3 | Teorías de la Comunicación | MCDIUnidad 3 | Teorías de la Comunicación | MCDI
Unidad 3 | Teorías de la Comunicación | MCDI
 
Heinsohn Privacidad y Ciberseguridad para el sector educativo
Heinsohn Privacidad y Ciberseguridad para el sector educativoHeinsohn Privacidad y Ciberseguridad para el sector educativo
Heinsohn Privacidad y Ciberseguridad para el sector educativo
 
La Función tecnológica del tutor.pptx
La  Función  tecnológica  del tutor.pptxLa  Función  tecnológica  del tutor.pptx
La Función tecnológica del tutor.pptx
 
Clasificaciones, modalidades y tendencias de investigación educativa.
Clasificaciones, modalidades y tendencias de investigación educativa.Clasificaciones, modalidades y tendencias de investigación educativa.
Clasificaciones, modalidades y tendencias de investigación educativa.
 
RAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIA
RAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIARAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIA
RAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIA
 
Unidad 4 | Teorías de las Comunicación | MCDI
Unidad 4 | Teorías de las Comunicación | MCDIUnidad 4 | Teorías de las Comunicación | MCDI
Unidad 4 | Teorías de las Comunicación | MCDI
 
la unidad de s sesion edussssssssssssssscacio fisca
la unidad de s sesion edussssssssssssssscacio fiscala unidad de s sesion edussssssssssssssscacio fisca
la unidad de s sesion edussssssssssssssscacio fisca
 
PRIMER SEMESTRE 2024 ASAMBLEA DEPARTAMENTAL.pptx
PRIMER SEMESTRE 2024 ASAMBLEA DEPARTAMENTAL.pptxPRIMER SEMESTRE 2024 ASAMBLEA DEPARTAMENTAL.pptx
PRIMER SEMESTRE 2024 ASAMBLEA DEPARTAMENTAL.pptx
 
6° SEM30 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
6° SEM30 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx6° SEM30 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
6° SEM30 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
 
Herramientas de Inteligencia Artificial.pdf
Herramientas de Inteligencia Artificial.pdfHerramientas de Inteligencia Artificial.pdf
Herramientas de Inteligencia Artificial.pdf
 
programa dia de las madres 10 de mayo para evento
programa dia de las madres 10 de mayo  para eventoprograma dia de las madres 10 de mayo  para evento
programa dia de las madres 10 de mayo para evento
 
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyz
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyzel CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyz
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyz
 
Factores ecosistemas: interacciones, energia y dinamica
Factores ecosistemas: interacciones, energia y dinamicaFactores ecosistemas: interacciones, energia y dinamica
Factores ecosistemas: interacciones, energia y dinamica
 
La triple Naturaleza del Hombre estudio.
La triple Naturaleza del Hombre estudio.La triple Naturaleza del Hombre estudio.
La triple Naturaleza del Hombre estudio.
 

Presentacion de vectores y matrices

  • 1.
  • 2. En programación, una matriz o vector (llamado en inglés array) es una zona de almacenamiento continuo, que contiene una serie de elementos del mismo tipo, los elementos de la matriz. Desde el punto de vista lógico una matriz se puede ver como un conjunto de elementos ordenados en fila (o filas y columnas si tuviera dos dimensiones). En principio, se puede considerar que todas las matrices son de una dimensión, la dimensión principal, pero los elementos de dicha fila pueden ser a su vez matrices (un proceso que puede ser recursivo), lo que nos permite hablar de la existencia de matrices multidimensionales, aunque las más fáciles de imaginar son los de una, dos y tres dimensiones. Estas estructuras de datos son adecuadas para situaciones en las que el acceso a los datos se realice de forma aleatoria e impredecible. Por el contrario, si los elementos pueden estar ordenados y se va a utilizar acceso secuencial sería más adecuado utilizar una lista, ya que esta estructura puede cambiar de tamaño fácilmente durante la ejecución de un programa.
  • 3. 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. Lenguajes más modernos y de más alto nivel, cuentan con un mecanismo denominado recolector de basura (como es el caso de Java) que permiten que el programa decida si debe liberar el espacio basándose en si se va a utilizar en el futuro o no un determinado objeto. Ejemplos en C Declaración en C/C++ de un vector estático. int main(void) { int i, v[5]; // v[5] es un vector de 5 componentes for(i=0; i<5; i++) { v[i] = 0; // Asignamos un valor printf("%dn", v[i]); printf("n"); // Crea una nueva línea } return 0 } }
  • 4. Declaración en C/C++ de un vector estático utilizando aritmética de punteros. Siendo el identificador del vector, un puntero constante que contiene la dirección del comienzo del vector (vector[0], primer elemento) int main(void) { int i, v[5]; // v[5] es un vector de 5 componentes for(i=0; i<5; i++) { *(v + i) = 0; // Asignamos un valor en la dirección (vector + ((índice * sizeof (int) cantidad de bytes de desplazamiento desde la base.) printf("%dn", *(vector + i)); printf("n"); // Crea una nueva línea } return 0 } 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 }
  • 5.
  • 6.
  • 7.
  • 8. Puede almacenar distintas variables del mismo tipo en una estructura de datos de matriz. Para declarar una matriz especifique el tipo de sus elementos. type[] arrayName; Los ejemplos siguientes crean matrices unidimensionales, multidimensionales y escalonadas: C# class TestArraysClass { static void Main() { // Declare a single-dimensional array int[] array1 = new int[5]; // Declare and set array element values int[] array2 = new int[] { 1, 3, 5, 7, 9 }; // Alternative syntax int[] array3 = { 1, 2, 3, 4, 5, 6 }; // Declare a two dimensional array int[,] multiDimensionalArray1 = new int[2, 3]; // Declare and set array element values int[,] multiDimensionalArray2 = { { 1, 2, 3 }, { 4, 5, 6 } }; // Declare a jagged array int[][] jaggedArray = new int[6][]; // Set the values of the first array in the jagged array structure jaggedArray[0] = new int[4] { 1, 2, 3, 4 }; } }
  • 9. Información general sobre las matrices Una matriz tiene las propiedades siguientes: Una matriz puede ser unidimensional, multidimensional o escalonada. El número de dimensiones y la longitud de cada dimensión se establecen cuando se crea la instancia de la matriz. Estos valores no se pueden cambiar durante la duración de la instancia. Los valores predeterminado de los elementos numéricos de matriz se establece en cero y el de los elementos de referencia se establece en null. Una matriz escalonada es una matriz de matrices y por consiguiente sus elementos son tipos de referencia y se inicializan en null. Las matrices se indizan basadas en cero: una matriz con n elementos se indiza desde 0 hasta n-1. Los elementos de una matriz pueden ser de cualquier tipo, incluido el tipo matriz. Los tipos de matriz son tipos de referencia derivados del tipo base abstracto Array. Puesto que este tipo implementa IEnumerable e IEnumerable<T>, puede utilizar la iteración foreach en todas las matrices de C#. Secciones relacionadas Utilizar matrices como objetos (Guía de programación de C#) Utilizar foreach con matrices (Guía de programación de C#) Pasar matrices como argumentos (Guía de programación de C#) Pasar matrices mediante Ref y Out (Guía de programación de C#) Más información sobre variables en Comenzar a usar Visual C# 2010