Vectores
* Una colección de datos del mismo tipo.
* Referenciados mediante un mismo nombre.
* Almacenados en posiciones de memoria físicamente contiguas, de forma que, la dirección de memoria más baja corresponde a la del primer elemento, y la dirección de memoria más altacorresponde a la del último elemento.
* El formato general para la declaración de una variable de tipo vector es el siguiente:
tipos_de_datos nombre_vector [tamaño];
* Tipos_de_Datos: Indica el tipo de los datos almacenados por el vector. Debe aparecer necesariamente en la declaración, puesto que de ella depende el espacio de memoria que se reservará para almacenar el vector.
*Nombre_Vector: Es un identificador que usaremos para referiremos tanto al vector como un todo, como a cada uno de sus elementos.
* Tamaño: Es una expresión entera constante que indica el número de elementos que contendrá el vector. El espacio ocupado por un vector en memoria se obtiene como el producto del número de elementos que lo componen y el tamaño de cada uno de éstos.
REPRESENTACIÓNGRÁFICA DE UN VECTOR DE N ELEMENTOS
15
8
30
-9
46
0
1
2
3
N-1
Índices o
Posiciones
Primer Elemento del Vector
Último Elemento del Vector
. . .
Valor Almacenado
VEC
Nombre del Vector
* Declaración del vector VEC (supongamos que N=50):
int VEC[50];
CONSULTA:
* El acceso a un elemento de un vector se realiza mediante el nombre de éste y un índice entrecorchetes ([ ]). El índice representa la posición relativa que ocupa dicho elemento dentro del vector y se especifica mediante una expresión entera (normalmente una constante o una variable).
nombre_vector [índice];
int numeros[10], i = 0, j = 3, x;
x = numeros[1];
x = numeros[i];
x = numeros[i * 2 + j];
ASIGNACIÓN:
* La asignación de valores a los elementos de un vector se realiza deforma similar a como se consultan.
. . .
int Numeros[4];
. . .
Numeros[0] = 10;
Numeros[1] = 15;
Numeros[2] = 30;
Numeros[3] = 23;
. . .
* Generalmente, antes de usar un vector por primera vez, es necesario dar a sus elementos un valor inicial.
ASIGNACIÓN:
* La manera más habitual de inicializar un vector en tiempo de ejecución consiste en recorrer secuencialmente todossus elementos y darles el valor inicial que les corresponda. En el siguiente ejemplo, todos los elementos de un vector de números enteros toman el valor de cero (0):
ASIGNACIÓN:
* Existe también un mecanismo que permite asignar un valor a todos los elementos de un vector con una sola sentencia en la propia declaración del vector.
* La forma general de inicializar un vector decualquier número de dimensiones es la siguiente:
tipo_de_datos nombre_vector [tamaño] = {lista de valores};
* La lista de valores nunca puede contener más valores de los que pueden almacenarse en el vector. Cada valor se separa por una coma (,).
ASIGNACIÓN:
* Algunos ejemplos:
int A[4] = {18, 9, 23}; // Correcto
int A[3] = {18, 9, 23, 5}; // Incorrecto
int A[] = {18, 9, 23,5, 1}; // Correcto
char vocales[5]={‘a’,‘e’,‘i’,‘o’,‘u’}; //Correcto
char vocales[5]={‘a’,‘e’,‘i’}; // Correcto
En el último ejemplo, no se produce error y en las posiciones 3 y 4 no se almacena ningún valor
NOTAS IMPORTANTES:
* No se puede en ningún caso comparar dos vectores utilizando los operadores relacionales vistos anteriormente.
* Tampoco se puede hacer la copia de todoun vector en otro con una simple asignación.
* Si se desea comparar o copiar toda la información almacenada en dos vectores, deberá hacerse elemento a elemento, es decir, se tiene que hacer un recorrido por cada una de las posiciones de los vectores.
ORDENAMIENTO:
* La técnica que utilizaremos para ordenar los vectores se conoce como Ordenación Tipo Burbuja, porque los valores...
Regístrate para leer el documento completo.