El vector de C++ proporciona una estructura de datos flexible para almacenar listas de elementos. Ofrece métodos como push_back() para agregar elementos, at() para acceder de manera segura a elementos, e índices para navegar a través de la lista. Los vectores permiten el almacenamiento y manipulación eficiente de datos similares a los arreglos tradicionales.
MAYO 1 PROYECTO día de la madre el amor más grande
Métodos de la clase vector
1. Métodos de la clase vector
assign asigna los elementos al vector
at devuelve el elemento de una posición específica
back devuelve una referencia al último elemento del vector
begin devuelve un iterador al principio del vector
capacity devuelve el número de elementos que pueden ser contenidos por el vector
clear elimina todos los elementos del vector
empty true si el vector está vacio
end devuelve un iterador al final del vector
erase elimina elementos del vector
front regresa una referencia al primer componente del vector
insert insertar componentes en el vector
max_size regresa el número máximo de elementos soportados por el vector
pop_back elimina el último elemento del vector
push_back añade un elemento al final del vector
rbegin devuelve un reverse_iterator hacia el final del vector
rend devuelve un reverse_iterator hacia el inicio del vector
reserve establece la capacidad mínima del vector
resize cambia el tamaño del vector
size devuelve el número de componentes en el vector
sw ap intercambia el contenido de un vector con el de otro
2. C++ vector estándar[editar]
La estructura de la clase vector está pensada para operar con arreglos unidimensionales de datos, los elementos de
un vector pueden ser manipulados de la misma manera en que se hace con las estructuras de arreglos (arrays)
tradicionales en C, C++; es decir, los componentes de un vector pueden ser referenciados a través de un índice
numérico, de la misma manera que en un arreglo cualquiera. Por ejemplo, si A es un objeto de vector, entonces la
instrucción: A[0]; se refiere al componente 0 (primer elemento) de A. El resultado de todo esto es que usted puede
navegar o iterar a través de los componentes de una lista haciendo uso de índices, o si lo prefiere a través de
punteros iteradores. Si usted desea ver una lista completa de los métodos asociados a la clase vector siga éste
enlace ( Tabla de métodos ), pero recuerde que no todos ellos serán cubiertos aquí.
Para comenzar, vamos a presentar un ejemplo sencillo, el cual consistirá en crear un vector de números de punto
flotante. Al vector creado le agregaremos una serie de valores los cuales posteriormente serán sumados y
desplegados en la pantalla del monitor. Para nuestro ejemplo vamos a emplear los métodospush_back (para
agregar los números), size (para obtener el número de componentes en el vector), e iteraremos por medio de
índices numéricos. Veamos.
// Demostracion del uso de un vector
// probado en: Dev-C++ 4.9.9.2
#include <cstdlib>
#include <iostream>
#include <vector>
using namespace std;
int main(int argc, char *argv[])
{
char buffer[80];
double suma;
vector<double> v;
v.push_back(999.25);
v.push_back(888.50);
v.push_back(777.25);
suma = 0;
for(int i = 0; i < v.size(); i++)
{
suma += v[i];
sprintf(buffer, "%10.2f", v[i]);
cout << buffer << endl;
}
cout << "----------" << endl;
sprintf(buffer, "%10.2f", suma);
3. cout << buffer << endl;
cin.get();
return EXIT_SUCCESS;
}
De acuerdo con la referencia de ayuda de Dev-C++ es más seguro emplear el método at() en lugar el
eperador [] para leer o escribir componentes en un vector, ya que at() no permite índices fuera del vector, y el
operador [] sí. Por ejemplo, si V es un vector cuyo número de componentes es de 3, entonces la instrucciónV[5]; es
sumamente peligrosa ya que el índice 5 está fuera del rango (0 a 2 ) de los componentes de V; por otro lado, la
instrucción V.at(5); también está fuera de rango, salvo que at() en lugar de leer o escribir el componente
referenciado lanzará (throw ) un error de excepción, de tal manera que en el programa se pueda controlar la
condición de error por medio de un catch. El método at() actua de manera parecida al operador [], y para ver un
ejemplo de su uso compile y ejecute el siguiente programa.
// Demostracion del uso del método at()
// probado en: Dev-C++ 4.9.9.2
#include <cstdlib>
#include <iostream>
#include <vector>
using namespace std;
int main(int argc, char *argv[])
{
vector<char> v;
// llenamos el vector v con valores desde la 'A' hasta la 'Z'
for (int x = 'A'; x <= 'Z'; x++) v.push_back(x);
// despliegue de los elementos del vector v
// mediante el operador [].
for(int i = 0; i < v.size(); i++)
cout << v[i] << " ";
// despliegue de los elementos del vector v
// mediante el método at().
for(int i = 0; i < v.size(); i++)
cout << v.at(i) << " ";
cout << endl;
cin.get();
return EXIT_SUCCESS;
}