STL en C ++

STL en C ++

La biblioteca de plantilla estándar o STL proporciona una gran cantidad de instalaciones al codificador o programador. Si creamos una biblioteca, significa que queremos almacenar algunos datos dentro de la biblioteca.

Para almacenar los datos dentro de la biblioteca, usamos para seguir algunos métodos. STL nos ayuda a crear estas bibliotecas siguiendo algunos métodos.

Componentes STL

STL consta de tres componentes. Ellos son:

  1. Envase
  2. Iteración
  3. Algoritmo

Discutimos a cada uno de ellos de manera eficiente.

A. Envase

  • Enormes cantidades de objetos se mantienen en el contenedor de manera correcta.
  • Se colocan varios tipos de datos dentro del contenedor para almacenar los datos de una manera específica. Por ejemplo: matriz, mapa, lista vinculada, etc.
  • Estos contenedores son genéricos de tipo. El término "genérico" está relacionado con el concepto de plantilla en C ++ que puede contener los elementos de cualquier tipo de datos.

Ejemplo: omitió el colon ya que este es un subtituling.

Diferentes tipos de datos se almacenan en una matriz dinámicamente en una clase vectorial. Vector es una clase de categorías de contenedores.

B. Iteradores

  • Los objetos se operan de manera sistemática a través de los iteradores.
  • Se usa para indicar los contenedores.
  • En realidad conecta los contenedores y los algoritmos de manera adecuada.

Ejemplo:

Los argumentos del algoritmo sort () son el iterador inicial y final. Estos iteradores nos ayudan a ordenar los elementos presentes en el contenedor como valores o datos.

C. Algoritmo

  • Algoritmo actúa sobre contenedores. A través del algoritmo, realizamos los diferentes tipos de operaciones como Sort, Búsqueda, Inicialización de datos, etc.
  • Sostiene los diferentes tipos de las funciones por defecto que ayudan a resolver muchos problemas relacionados con el programa.

Ejemplo:

Podemos revertir los datos con la ayuda de una función de forma predeterminada llamada Reverse () Función, ordene los datos con la función Sort (), etc.

Clases comunes que existe en contenedores

  1. Vector actúa sobre matrices
  2. Cola actúa sobre colas
  3. Las pilas actúan sobre pilas
  4. Priority_queue actúa sobre montones
  5. Lista de actos en la lista vinculada
  6. Establecer actos sobre árboles
  7. El mapa actúa en matrices

Clasificación de contenedores

Hay 4 contenedores como contenedores asociativos desordenados, adaptadores de contenedores, contenedores de secuencia y contenedores asociativos.

STL es un concepto vasto, ya que tiene muchas clases. Discutiremos algunas clases importantes en STL.

Formación:

  1. La matriz es una colección lineal de los tipos similares de elementos.
  2. Usamos la matriz de encabezado- #include.
  3. Aquí, la matriz es de tipo estática.

Programación Ejemplo 1:

#incluir
#incluir
usando el espacio de nombres STD;
int main ()

formación< int, 5 >data_array = 5, 10, 15, 20, 25; // Creación de objeto de matriz;
data_array.llenar (10); // se utiliza la función miembro;
para (int i = 0; i<=7;i++)
cout<< data_array[ i ] ;
regresar 0;

Producción:

Programación Ejemplo 2:

#incluir
#incluir
usando el espacio de nombres STD;
int main ()

formación< int, 5 >data_array = 5,10,15,20,25; // Creación de objeto de matriz;
cout<< data_array.at(2) ;
cout<< data_array[3] ;
cout<< data_array.front() ; // member function is used ;
cout<< data_array.back() ; // member function is used ;
regresar 0;

Producción:

Explicación:

Los dos programas anteriores son el ejemplo de la clase de matriz.

Aquí, declaramos una matriz. Almacenamos algunos valores como 5, 10, 15, 20 y 25 dentro de una matriz.

Formación< int, 5 > data_array = 5, 10, 15, 20, 25;

Los (), front (), back () y relleno () son funciones miembros importantes que se utilizan en la plantilla de matriz.

Clases vectoriales en STL

  1. El contenedor de propósito más general es la clase vectorial.
  2. Admite la matriz dinámica.

Tipos de declaración de vectores

1. Vector V1;

Vectores de longitud cero.

2. Vector CV (5);

Crea los 5 elementos Char Vector.

3. vector cv (4, 'a');

Inicializa 4 elementos Char Vector con "A".

Programación Ejemplo 3:

#incluir
#incluir
usando el espacio de nombres STD;
int main ()

vector v1;
vector v2 (4);
vector V3 (5,10);
vector v4 (3, "hola");
cout<cout<< v4[1] << endl ;
cout<regresar 0;

Producción:

Explicación:

En el programa, declaramos los vectores V1, V2, V3 y V4. Asignamos algunos valores en el momento de la declaración dentro de los vectores V2, V3, V4. Ahora, imprimimos los valores de 0, 1 y segundo índice de V4. Todos ellos muestran el mismo resultado.

Programación Ejemplo 4:

#incluir
#incluir
usando el espacio de nombres STD;
int main ()

vector< int >v1;
cout<< " Current Capacity is " <para (int i = 0; i<= 9; i++)
V1.push_back (10*(i+1));
cout<< " Current capacity is " < V1.pop_back ();
cout<<" after pop \n" ;
cout<< " Current Capacity is "<< v1.capacity() <V1.pop_back ();
cout<< "Current Capacity is "<V1.pop_back ();
cout<< " Current Capacity is " << v1.capacity() <cout<< " total number of elements are " <

Producción:

Explicación:

Aquí en el programa, utilizamos algunas funciones de miembros. Uno de ellos es el push_back que se usa para agregar valor al vector al final.

Otra función miembro es pop_back ().Se elimina el último elemento.

Otra función que se utiliza en el programa es la capacidad (). Devuelve la capacidad del vector.

El último pero no menos importante es el tamaño () que determina el tamaño de los datos.

Conclusión

En el concepto de STL, hemos llegado a esta conclusión de que STL es un concepto vasto en C++. Al usar el STL, podemos usar el código estándar para hacer la estructura de datos diferente como la lista de pila, cola y enlace. También realizamos algunas operaciones en los datos como buscar, clasificar, etc.