STL em C ++

STL em C ++

A biblioteca de modelos padrão ou STL fornece uma enorme quantidade de instalação para o codificador ou programador. Se criarmos uma biblioteca, significa que queremos armazenar alguns dados dentro da biblioteca.

Para armazenar os dados dentro da biblioteca, usamos para seguir alguns métodos. STL nos ajuda a criar essas bibliotecas seguindo alguns métodos.

Componentes STL

STL consiste em três componentes. Eles são:

  1. Recipiente
  2. Iteração
  3. Algoritmo

Discutimos cada um deles de maneira eficiente.

A. Recipiente

  • Enormes quantidades de objeto são mantidas no recipiente de maneira correta.
  • Vários tipos de dados são colocados dentro do contêiner para armazenar os dados de uma maneira específica. Por exemplo: Array, mapa, lista vinculada, etc.
  • Esses contêineres são genéricos em tipo. O termo "genérico" está relacionado ao conceito de modelo em C ++, que pode conter os elementos de quaisquer tipos de dados.

Exemplo: omiti o cólon, já que este é um sub-título.

Diferentes tipos de dados são armazenados em uma matriz dinamicamente em uma classe vetorial. Vetor é uma classe de categorias de contêineres.

B. Iteradores

  • Os objetos são operados de maneira sistemática através dos iteradores.
  • É usado para indicar os recipientes.
  • Na verdade, ele conecta os recipientes e os algoritmos de uma maneira adequada.

Exemplo:

Os argumentos do algoritmo Sort () são o iterador inicial e final. Esses iteradores nos ajudam a classificar os elementos presentes no contêiner como valores ou dados.

C. Algoritmo

  • O algoritmo atua em contêineres. Através do algoritmo, realizamos os diferentes tipos de operações, como classificação, pesquisa, inicialização de dados, etc.
  • Ele possui os diferentes tipos de funções por padrão que ajudam a resolver muitos problemas relacionados ao programa.

Exemplo:

Podemos reverter os dados com a ajuda de uma função por padrão denominada função reverse (), classificar os dados com a função Sort (), etc.

Classes comuns que existem em contêineres

  1. Vetor atua em matrizes
  2. Fila age em filas
  3. Stacks age em pilhas
  4. Priority_queue age em pilhas
  5. A lista atua na lista vinculada
  6. Set atos em árvores
  7. Mapa age em matrizes

Classificação de recipientes

Existem 4 contêineres como recipientes associativos não ordenados, adaptadores de contêineres, contêineres de sequência e contêineres associativos.

STL é um vasto conceito, pois tem muitas classes. Discutiremos algumas classes importantes no STL.

Variedade:

  1. Array é uma coleção linear dos tipos semelhantes de elementos.
  2. Usamos a matriz de cabeçalho- #include.
  3. Aqui, a matriz é estática em tipo.

Exemplo de programação 1:

#incluir
#incluir
usando namespace std;
int main ()

variedade< int, 5 >data_array = 5, 10, 15, 20, 25; // criando objeto de matriz;
data_array.encher (10); // A função de membro é usada;
para (int i = 0; i<=7;i++)
cout<< data_array[ i ] ;
retornar 0;

Saída:

Exemplo de programação 2:

#incluir
#incluir
usando namespace std;
int main ()

variedade< int, 5 >data_array = 5,10,15,20,25; // criando 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 ;
retornar 0;

Saída:

Explicação:

Os dois programas anteriores são o exemplo da aula de matriz.

Aqui, declaramos uma matriz. Armazenamos alguns valores como 5, 10, 15, 20 e 25 dentro de uma matriz.

Variedade< int, 5 > data_array = 5, 10, 15, 20, 25;

O (), Front (), Back () e Fill () são funções membros importantes que são usadas no modelo de matriz.

Classes de vetores no STL

  1. O contêiner de uso mais geral é a classe vetorial.
  2. Ele suporta a matriz dinâmica.

Tipos de declaração de vetores

1. vetor v1;

Vetores de comprimento zero.

2. Vetor CV (5);

Cria os 5 elementos char vetor.

3. vetor CV (4, 'A');

Inicializa 4 elementos char vetor com "a".

Exemplo de programação 3:

#incluir
#incluir
usando namespace std;
int main ()

vetor v1;
vetor v2 (4);
vetor v3 (5,10);
vetor v4 (3, "Olá");
cout<cout<< v4[1] << endl ;
cout<retornar 0;

Saída:

Explicação:

No programa, declaramos os vetores v1, v2, v3 e v4. Atribuímos alguns valores no momento da declaração dentro dos vetores v2, v3, v4. Agora, imprimimos os valores de 0, 1º e 2º índice de V4. Todos eles mostram o mesmo resultado.

Exemplo de programação 4:

#incluir
#incluir
usando namespace std;
int main ()

vetor< 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 " <

Saída:

Explicação:

Aqui no programa, usamos algumas funções de membro. Um deles é o push_back que é usado para agregar valor ao vetor no final.

Outra função de membro é pop_back ().O último elemento é removido.

Outra função que é usada no programa é a capacidade (). Retorna a capacidade do vetor.

O último, mas não o menos importante, é o tamanho () que determina o tamanho dos dados.

Conclusão

No conceito de STL, chegamos a essa conclusão de que o STL é um vasto conceito em c++. Ao usar o STL, podemos usar o código padrão para criar a estrutura de dados diferentes como pilha, fila e lista de links. Também fazemos algumas operações nos dados, como pesquisa, classificação, etc.