Acesso direto ao conteúdo
Logotipo Dicas-L, por Ricardo Burile

Busca

Visite também: Segurança Linux ·  UnderLinux ·  VivaOLinux ·  LinuxSecurity ·  NoticiasLinux ·  BR-Linux ·  SoftwareLivre.org ·  [mais]   
 

Você está aqui: Home  → Arquivo Dicas-L

 

Aprenda inglês de uma vez por todas

Assine a Lista Dicas-L

Receba diariamente por email as dicas
de informática publicadas neste site
Para se descadastrar, clique aqui.

Estruturas de dados - não é preciso reinventar a roda!

Colaboração: Joel Saade

Data de Publicação: 26 de Março de 2006

Você, programador ou estudante de C++, precisa conhecer urgentemente a Standard Template Library, ou STL, como é mais conhecida. A STL é uma biblioteca integrada à biblioteca padrão de C++ projetada para manipular estruturas de dados comuns (vetor, deque, lista, fila, pilha etc) por meio de elementos próprios. Como é integrada, está disponível e pronta para uso. Os seus componentes básicos são: containers, algoritmos e iteradores. Os containers armazenam valores de um dado tipo. Os algoritmos correspondem às ações a serem executadas sobre os containers. Os iteradores percorrem os elementos dos containers da mesma forma que um índice ou ponteiro percorre os elementos de um array.

Para mostrar a potencialidade da STL, veja o programa-exemplo seguinte.

  // Cria um vetor com nomes de planetas e o ordena ascendentemente
  1     #include <iostream>
  2     #include <algorithm>
  3     #include <vector>
  4     #include <string>
  5     using namespace std;
  6     int main()
  7           {
  8           vector<string> nomes;
  9           vector<string>::iterator it;
  10          nomes.push_back("Terra");
  11          nomes.push_back("Marte");
  12          nomes.push_back("Urano");
  13          nomes.push_back("Saturno");
  14          cout << "Vetor antes da ordenação:  ";
  15          for (it = nomes.begin();it != nomes.end();++it)
  16               cout << *it << " ";
  17          cout << endl;
  18          sort(nomes.begin(),nomes.end());
  19          cout << "Vetor depois da ordenação: ";
  20          for (it = nomes.begin();it != nomes.end();++it)
  21               cout << *it << " ";
  22          cout << endl;
  23          return 0;
  24          }

Resultado da execução do programa

Vetor antes da ordenação: Terra Marte Urano Saturno
Vetor depois da ordenação: Marte Saturno Terra Urano

Observações

Linha Descrição
2 Necessária para a maioria dos algoritmos
3 Necessária para o uso do container vetor, havendo um arquivo-cabeçalho para cada container
8 Declara um container do tipo vetor com elementos do tipo string,chamado nomes
9 Declara um iterador, chamado it, para percorrer os elementos do vetor
10 a 13 Utilizam o método push_back() definido para vetores, cuja tarefa é inserir elementos no final de um vetor
15 Acessa cada elemento do vetor, do primeiro até o último, por meio do iterador it
16 Exibe o valor de cada elemento do vetor por meio do operador de de referência *, que retorna o valor apontado pelo iterador it
18 Utiliza o algoritmo sort para ordenar elementos de containers

Para mais detalhes sobre a STL, veja o novo lançamento da Novatec Editora (www.novatec.com.br): "Guia de Consulta Rápida C++ STL", de Joel Saade.

O Joel escreveu também, pela editora Novatec, os seguintes livros:

Veja a relação completa dos artigos de Joel Saade

Formato PDF
Newsfeed RSS
Formato para impressão
PDF RSS Imprimir

Referências Adicionais

Referências adicionais sobre os assuntos abordados neste site podem ser encontradas em nossa Bibliografia.

Avalie esta dica

  • Currently 2.98/5
  • 1
  • 2
  • 3
  • 4
  • 5

Avaliação: 3.0 /5 (1481 votos)

Opinião dos Leitores

Seja o primeiro a comentar este artigo
*Nome:
Email:
Me notifique sobre novos comentários nessa página
Oculte meu email
*Texto:
 
  Para publicar seu comentário, digite o código contido na imagem acima
 


Powered by Scriptsmill Comments Script
Treinamentos, Consultorias e Soluçoes em TI. Baseados em softwares livres e padrões abertos para ambientes de missão crítica

Submarino.com.br

PDF Explicado