Vector en la biblioteca de plantillas estándar (STL) de C ++ con ejemplo

¿Qué es Vector C ++?

UNA. VECTOR C ++ Es un conjunto dinámico que puede cambiarse automáticamente. La ampliación se produce después de agregar o eliminar un elemento del vector. El contenedor maneja el almacenamiento automáticamente. Los elementos vectoriales se almacenan en un almacenamiento contiguo. Esto permite a los programadores de C ++ acceder y atravesar los elementos vectoriales utilizando comedores.

Los nuevos datos se insertan en un vector al final. Esto lleva un período diferencial. Se necesita mucho tiempo para eliminar un elemento de un vector. La razón es que no es necesario cambiar el vector. Se necesita un tiempo lineal para insertar o eliminar un elemento al comienzo del vector.

En este tutorial de C ++, aprenderá:

¿Cuándo se puede utilizar un vector?

Vector C ++ debe utilizarse en las siguientes circunstancias:

  • Cuando se trata de elementos de datos en constante cambio.
  • Si no se conoce el tamaño de los datos antes de comenzar, el vector no requerirá que establezca el tamaño máximo del contenedor.

Cómo iniciar vectores en C ++

La proporción de vectores en C ++ es:

vector <data-type> name (items)
  • Como se muestra arriba, comenzamos con la palabra clave vector.
  • El tipo de datos es el tipo de datos de los elementos que se almacenarán en el vector.
  • El nombre es el nombre del vector o elementos de datos.
  • Los elementos indican el número de elementos de los datos vectoriales. Este parámetro es opcional.

Iteradores

El propósito de los comedores es ayudarnos a acceder a los elementos almacenados en un vector. Algo que funcione como un puntero. Los comedores estándar compatibles con los vectores C ++ son:

  • vector :: inicio (): da un devorador que se centra en el primer elemento del vector.
  • vector :: end (): da un devorador que se centra en el elemento posterior al final del vector.
  • vector :: cbegin (): es lo mismo que vector :: start (), pero no tiene la capacidad de modificar elementos.
  • vector :: cend (): es lo mismo que vector :: end () pero no puede modificar elementos vectoriales.

Modificadores

Los modificadores se utilizan para cambiar el significado del tipo de datos especificado. Aquí están los modificadores en C ++:

  • vector :: push_back (): Este modificador empuja los elementos desde atrás.
  • vector :: insertar (): Insertar nuevos artículos en un vector en una ubicación específica.
  • vector :: pop_back (): Este modificador elimina los elementos vectoriales de la parte posterior.
  • vector :: eliminar (): Se utiliza para eliminar un rango de elementos de la ubicación especificada.
  • vector :: clear (): Se eliminan todos los elementos vectoriales.

Ejemplo 1

#include <iostream> 
#include <vector> 

using namespace std;
int main()
{
	vector<int> nums;

	for (int a = 1; a <= 5; a++)

		nums.push_back(a);

	cout << "Output from begin and end: ";

	for (auto a = nums.begin(); a != nums.end(); ++a)

		cout << *a << " ";

	cout << "nOutput from cbegin and cend: ";

	for (auto a = nums.cbegin(); a != nums.cend(); ++a)

		cout << *a << " ";

	return 0;
}

Producción:

Aquí hay una imagen del código:

Explicación del Código:

  1. Incluya el archivo de encabezado de iostream en nuestro código. Nos permitirá leer desde la consola y escribir en la consola.
  2. Incluya el archivo de encabezado vectorial en nuestro código. Nos permitirá trabajar con vectores en C ++.
  3. Incluya el nombre de espacio estándar para usar sus clases y funciones sin llamarlo.
  4. Llame a la función principal () a la que se debe agregar la lógica del programa.
  5. El {comienzo del cuerpo marca la función principal ().
  6. Confirme un vector llamado nums para almacenar un conjunto de enteros.
  7. Crea un bucle para ayudarnos a ir más allá del vector. La variable nos ayudará a repetir los elementos vectoriales de 1S t a 5ú elementos.
  8. Empuje elementos en el vector num desde la parte posterior. Para cada iteración, esto insertará el valor actual de una variable en el vector, es decir, de 1 a 5.
  9. Imprime algo de texto en la consola
  10. Utilice una variable de iterador para repetir los elementos de números vectoriales desde el principio hasta el último elemento. Tenga en cuenta que estamos usando vectores :: start () y vector :: end () comedores.
  11. Imprima los valores a los que prestan atención las variables de iterador en la consola para cada iteración.
  12. Imprime texto en la consola. N es un carácter de nueva línea, que mueve el cursor a la nueva línea desde la que imprimir.
  13. Utilice una variable iterativa para repetir los elementos de un vector nums desde el principio hasta el último elemento. Tenga en cuenta que estamos usando vectors :: cbegin () y vector :: cend () eaters.
  14. Imprima los valores a los que prestan atención las variables de iterador en la consola para cada iteración.
  15. La función principal debería devolver un valor si el programa se ejecuta correctamente.
  16. El final del cuerpo de la función principal ().

Ejemplo 2

#include <iostream>
#include <vector> 

using namespace std;
int main()
{
	vector<int> nums;
	
	nums.assign(5, 1);

	cout << "Vector contents: ";
	for (int a = 0; a < nums.size(); a++)
		cout << nums[a] << " ";

	nums.push_back(2);
	int n = nums.size();
	cout << "nLast element: " << nums[n - 1];

	nums.pop_back();

	cout << "nVector contents: ";
	for (int a = 0; a < nums.size(); a++)
		cout << nums[a] << " ";

	nums.insert(nums.begin(), 7);

	cout << "nFirst element: " << nums[0];
	
	nums.clear();
	cout << "nSize after clear(): " << nums.size();			
}

Producción:

Aquí hay una imagen del código:

Explicación del Código:

  1. Incluya el archivo de encabezado de iostream en nuestro código para usar sus funciones.
  2. Incluya el archivo de encabezado vectorial en nuestro código para usar sus funciones.
  3. Incluya el nombre de espacio estándar para usar sus clases sin llamarlo.
  4. Llame a la función principal (). La lógica del programa debe colocarse dentro de su cuerpo.
  5. El comienzo del cuerpo de la función principal ().
  6. Confirme un vector llamado nums para almacenar algunos valores enteros.
  7. Almacene 5 elementos en los números de vector. Cada uno con un valor de 1.
  8. Imprime algo de texto en la consola
  9. Utilice una variable de iterador para cambiar los elementos de los vectores.
  10. Imprime valores de números vectoriales en la consola para cada iteración.
  11. Suma el valor 2 al final de los vectores nums.
  12. Declare una variable entera n para almacenar el tamaño de los vectores.
  13. Imprime el último valor de números vectoriales junto a otro texto. Debería regresar 2.
  14. Elimina el último elemento de los vectores nums. El 2 se eliminará.
  15. Imprime texto en la consola. N mueve el cursor a la nueva línea para luego imprimir el texto.
  16. Utilice una variable de iterador para imitar los elementos de números vectoriales.
  17. Imprime valores de números vectoriales en la consola para cada iteración.
  18. Ingrese el valor 7 al comienzo de los vectores numéricos.
  19. Imprime el primer valor de números vectoriales junto con otro texto. Debería regresar 7.
  20. Elimina todos los elementos de los vectores nums.
  21. Imprima el tamaño del vector num junto a otro texto después de borrar todo el contenido. Debería devolver 0.
  22. El final del cuerpo de la función principal ().

Cumas

Utilice las siguientes funciones para determinar la capacidad vectorial:

  • Tamaño () –Devuelve el número de elementos de un vector.
  • Tamaño máximo () -Vuelve el número máximo de elementos que puede almacenar un vector.
  • Habilidad (): es devuelve la cantidad de espacio de almacenamiento asignado a un vector.
  • Resize () –It cambia el contenedor para contener n mercancías. Si la magnitud actual del vector es mayor que n, se eliminarán los segmentos traseros del vector. Si el tamaño actual del vector es menor que n, se agregarán elementos adicionales en la parte posterior del vector.
  • Vacío () –it devuelve verdadero si el vector está vacío, de lo contrario devuelve falso.

Ejemplo 3

#include <iostream> 
#include <vector> 
using namespace std;
int main() {
	vector<int> vector1;
	for (int x = 1; x <= 10; x++)
		vector1.push_back(x);
	cout << "Vector size: " << vector1.size()<< endl;
	cout << "Vector capacity: " << vector1.capacity() << endl;
	cout << "Maximum size of vector: " << vector1.max_size()<< endl;
	vector1.resize(5);
	cout << "Vector size after resizing: " << vector1.size() << endl;
	if (vector1.empty() == false)
		cout << "Vector is not empty"<<endl;
	else
		cout << "Vector is empty"<<endl;
	return 0;
}

Producción:

Aquí hay una imagen del código:

Explicación del Código:

  1. Incluya el archivo de encabezado de iostream en nuestro código para usar su función.
  2. Incluya el archivo de encabezado vectorial en nuestro código para usar sus funciones.
  3. Incluya el nombre de espacio estándar en nuestro código para usar sus clases sin llamarlo.
  4. Llame a la función principal (). La lógica del programa debe agregarse dentro del cuerpo de esta función.
  5. Cree un vector llamado vector1 para almacenar enteros.
  6. Utilice un bucle para crear una variable xa con valores de 1 a 10.
  7. Inserta los valores de las variables x en el vector.
  8. Imprima el tamaño del vector junto con otro texto en la consola.
  9. Imprima el recurso de vector junto con otro texto en la consola.
  10. Imprima la cantidad máxima de elementos que el vector puede contener junto a otro texto en la consola.
  11. Cambie el tamaño del vector para contener solo 5 elementos.
  12. Imprima el nuevo tamaño del vector junto con otro texto.
  13. Compruebe si el vector está vacío.
  14. Imprime texto en la consola si el vector no está vacío.
  15. Use otra declaración para decir qué hacer si el vector está vacío.
  16. Texto para imprimir en la consola si el vector está vacío.
  17. El programa debe devolver valor al completarse con éxito.
  18. Fin del cuerpo funcional principal ().

Resumen:

  • Un vector C ++ es una matriz dinámica que puede cambiarse automáticamente cuando se agrega o elimina un elemento.
  • El contenedor maneja automáticamente el almacenamiento de su vector.
  • Los elementos vectoriales se almacenan en un almacenamiento contiguo para su acceso y luego se recorren mediante iteradores.
  • Los nuevos datos se insertan en un vector al final.
  • Se necesita tiempo para diferenciar los datos en un vector.
  • Se necesita mucho tiempo para eliminar un elemento de un vector.
  • Se necesita un tiempo lineal para insertar o eliminar un elemento al principio.
  • Los vectores deben utilizarse cuando se trata de elementos de datos en constante cambio.
  • Además, puede usar vectores si no se conoce la cantidad de datos antes de que comiencen.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Salir de la versión móvil