SlideShare uma empresa Scribd logo
1 de 44
CURSO DE MARATONA DE PROGRAMAÇÃO
ICT-Unifesp
 Iremos utilizar a STL (biblioteca padrão do C++).
 Por que?
 STL possui várias estruturas implementadas.
 Estudos dizem que você irá escrever menos e poderá obter mais !!
 Lembre-se:
 A STL ajuda, mas não faz milagres!
 Estude os mais diversos algoritmos e técnicas de programação.
 Use a STL de forma adequada.
 Exemplo: uso vetor (vector) ou lista (list) ?
 Resolva (muitos=2)^10 problemas.
2
 O objetivo é maratona de programação.
 A maratona é democrática, você pode programar até em Java!
 Com a palavra ViniGodoy:
3
 Relax, não é preciso dominar a linguagem...
 Só precisamos saber um pouquinho...
 Você pode misturar C e C++.
 Ou pode fazer o código totalmente em C e salvar como .cpp :D
 Seu foco maior será nos algoritmos e técnicas para resolver os problemas.
 C++ e STL te ajudarão a não ter maiores dores de cabeça!
4
5
 No C fazíamos:
6
 No C++ utilizando STL:
 Não esquecer de incluir: #include <vector>
7
 Ok, escrevemos menos quando fizemos em C, mas você pode passar para o
construtor a quantidade de elementos, será inicializado tudo com 0 e aí você só
atribui os valores:
8
 O vector possui várias operações.
 Vimos a função push_back que insere elementos, mas existem outras...
 A função erase apaga elementos:
 A função clear que remove todos os elementos:
v.clear();
9
 Pergunta: remove o último elemento ?
10
 Pergunta: remove o último elemento ?
11
 Corrigindo...
 O begin() aponta para o primeiro elemento e o end() não aponta para o último
elemento, entendeu? Nem eu!
12
 Utilizando C/C++:
13
 String do C++ também é legal, você pode passar o conteúdo no construtor:
14
 Mas eu tenho uma string do C! Ok ...
15
 Mas eu tenho uma string do C, quero passar para C++ e quero imprimir a string
do C++ com o saudoso printf! Ok ......
16
 As funções mantêm um certo padrão.
 Lembra das funções size() e erase() ?
 Elas existem para string! O que é impresso na última linha?
17
 Copiando uma string (saudades da strcpy ??) :
18
 Desafio: o que imprimirá cada um dos códigos?
19
 #include <list>
20
 Acessando os elementos:
21
 Lembra da pilha que você teve que implementar em estrutura de dados?
 Sem sofrimento, basta você incluir: #include <stack>
22
 A remoção é feita com a função pop():
23
 Verificar se a pilha está vazia:
24
 Lembra da fila do banco? Inclua: #include <queue>
25
 Utilize a função back() para saber quem é o último da fila:
26
 Quer associar elementos por chave/valor? #include <map>
27
 Verificando se uma chave existe:
28
 Não temos a chave “blabla”, o que será impresso?
29
 Percorrendo o map...
 A impressão ocorre na ordem em que os elementos foram inseridos?
30
 Permite inserir elementos no início e no final:
 #include <queue> ou #include <deque>
31
 Percorrendo:
32
 E se fosse uma fila, funcionaria o código abaixo?
33
 E se fosse uma fila, funcionaria o código abaixo?
34
 O set não permite elementos repetidos. Basta incluir: #include <set>
 Os elementos são mantidos em ordem crescente.
35
 Mas eu preciso de um set com elementos repetidos em ordem crescente.
 Seus problemas acabaram: multiset
36
 Ouvi dizer que em C++ você programa com classe...
 Struct é quase igual a uma classe... O código abaixo compila?
37
 Agora sim código abaixo compila!
 Os membros por default de uma classe são privados, então colocamos o public:
38
 O código abaixo compila!
 Os membros por default de uma struct são públicos.
39
 Alguns algoritmos estão implementados para você utilizar.
 #include <algorithm>
 Ordenar os elementos em ordem crescente: sort()
40
 Imprimir todas as permutações: next_permutation()
41
 Busca binária: binary_search()
42
43
 Tem quase tudo aqui: http://www.cplusplus.com/reference
 Curso de C++ (~ 100 vídeo-aulas): https://goo.gl/BFbNOL
 Maratona de Programação com STL: http://goo.gl/eyhOzq
 Contato: mcastrosouza@live.com
44

Mais conteúdo relacionado

Mais procurados

Introdução a estruturas de dados em python
Introdução a estruturas de dados em pythonIntrodução a estruturas de dados em python
Introdução a estruturas de dados em python
Alvaro Oliveira
 
Matemática Discreta - Parte IV teoria dos-conjuntos
Matemática Discreta - Parte IV teoria dos-conjuntosMatemática Discreta - Parte IV teoria dos-conjuntos
Matemática Discreta - Parte IV teoria dos-conjuntos
Ulrich Schiel
 
Conceitos de básicos de qualidade de software
Conceitos de básicos de qualidade de softwareConceitos de básicos de qualidade de software
Conceitos de básicos de qualidade de software
Ronney Moreira de Castro
 
Logica Algoritmo 08 Recursividade
Logica Algoritmo 08 RecursividadeLogica Algoritmo 08 Recursividade
Logica Algoritmo 08 Recursividade
Regis Magalhães
 
Apostila Linguagens Formais e Autômatos (LFA)
Apostila Linguagens Formais e Autômatos (LFA)Apostila Linguagens Formais e Autômatos (LFA)
Apostila Linguagens Formais e Autômatos (LFA)
Ricardo Terra
 

Mais procurados (20)

Introdução a estruturas de dados em python
Introdução a estruturas de dados em pythonIntrodução a estruturas de dados em python
Introdução a estruturas de dados em python
 
Linguagem C - Vetores, Matrizes e Funções
Linguagem C - Vetores, Matrizes e FunçõesLinguagem C - Vetores, Matrizes e Funções
Linguagem C - Vetores, Matrizes e Funções
 
Python - Programação funcional
Python - Programação funcionalPython - Programação funcional
Python - Programação funcional
 
Maratona de Programação com STL
Maratona de Programação com STLMaratona de Programação com STL
Maratona de Programação com STL
 
Análise de Algoritmos - Recursividade
Análise de Algoritmos - RecursividadeAnálise de Algoritmos - Recursividade
Análise de Algoritmos - Recursividade
 
Matemática Discreta - Parte IV teoria dos-conjuntos
Matemática Discreta - Parte IV teoria dos-conjuntosMatemática Discreta - Parte IV teoria dos-conjuntos
Matemática Discreta - Parte IV teoria dos-conjuntos
 
Java básico - Módulo 04: Estruturas de controle
Java   básico - Módulo 04:  Estruturas de controleJava   básico - Módulo 04:  Estruturas de controle
Java básico - Módulo 04: Estruturas de controle
 
Aula 10 - Adição no Sistema Binário
Aula 10 - Adição no Sistema BinárioAula 10 - Adição no Sistema Binário
Aula 10 - Adição no Sistema Binário
 
Linguagem de Programação Python
Linguagem de Programação PythonLinguagem de Programação Python
Linguagem de Programação Python
 
Curso básico de Algoritmos com Python
Curso básico de Algoritmos com PythonCurso básico de Algoritmos com Python
Curso básico de Algoritmos com Python
 
Lista de Exercícios - Linguagem Formais e Autômatos
Lista de Exercícios - Linguagem Formais e AutômatosLista de Exercícios - Linguagem Formais e Autômatos
Lista de Exercícios - Linguagem Formais e Autômatos
 
Estrutura de dados
Estrutura de dadosEstrutura de dados
Estrutura de dados
 
Conceitos de básicos de qualidade de software
Conceitos de básicos de qualidade de softwareConceitos de básicos de qualidade de software
Conceitos de básicos de qualidade de software
 
Logica Algoritmo 08 Recursividade
Logica Algoritmo 08 RecursividadeLogica Algoritmo 08 Recursividade
Logica Algoritmo 08 Recursividade
 
BD I - Aula 08 B - Algebra Relacional - Exercicios Resolucao
BD I - Aula 08 B - Algebra Relacional - Exercicios ResolucaoBD I - Aula 08 B - Algebra Relacional - Exercicios Resolucao
BD I - Aula 08 B - Algebra Relacional - Exercicios Resolucao
 
ICC - Aula 05 - Estrutura de controle, sequencial e condicional
ICC - Aula 05 - Estrutura de controle, sequencial e condicionalICC - Aula 05 - Estrutura de controle, sequencial e condicional
ICC - Aula 05 - Estrutura de controle, sequencial e condicional
 
Aula 04 - Medidas de Armazenamento
Aula 04 - Medidas de ArmazenamentoAula 04 - Medidas de Armazenamento
Aula 04 - Medidas de Armazenamento
 
Linguagem C 07 Registros
Linguagem C 07 RegistrosLinguagem C 07 Registros
Linguagem C 07 Registros
 
Lógica de programação { para iniciantes }
Lógica de programação { para iniciantes }Lógica de programação { para iniciantes }
Lógica de programação { para iniciantes }
 
Apostila Linguagens Formais e Autômatos (LFA)
Apostila Linguagens Formais e Autômatos (LFA)Apostila Linguagens Formais e Autômatos (LFA)
Apostila Linguagens Formais e Autômatos (LFA)
 

Destaque

Introdução à Programação C++ com Qt 4
Introdução à Programação C++ com Qt 4Introdução à Programação C++ com Qt 4
Introdução à Programação C++ com Qt 4
Antonio Menezes
 
Fundamentos da programação de computadores 2ª edição
Fundamentos da programação de computadores   2ª ediçãoFundamentos da programação de computadores   2ª edição
Fundamentos da programação de computadores 2ª edição
Leandro Rocha de Oliveira
 
Introdução pascal
Introdução pascalIntrodução pascal
Introdução pascal
Ilton Prandi
 
Tópicos - Computacao Paralela Programação 3 (Visão geral)
Tópicos - Computacao Paralela Programação 3 (Visão geral)Tópicos - Computacao Paralela Programação 3 (Visão geral)
Tópicos - Computacao Paralela Programação 3 (Visão geral)
Luiz Arthur
 

Destaque (20)

Algoritmo de Knuth-Morris-Pratt - KMP
Algoritmo de Knuth-Morris-Pratt - KMPAlgoritmo de Knuth-Morris-Pratt - KMP
Algoritmo de Knuth-Morris-Pratt - KMP
 
Problema da Mochila 0-1 (Knapsack problem)
Problema da Mochila 0-1 (Knapsack problem)Problema da Mochila 0-1 (Knapsack problem)
Problema da Mochila 0-1 (Knapsack problem)
 
Expressões Regulares com Python 3
Expressões Regulares com Python 3Expressões Regulares com Python 3
Expressões Regulares com Python 3
 
Python - Dicionários
Python - DicionáriosPython - Dicionários
Python - Dicionários
 
Listas, tuplas, conjuntos e dicionários
Listas, tuplas, conjuntos e dicionáriosListas, tuplas, conjuntos e dicionários
Listas, tuplas, conjuntos e dicionários
 
599026
599026599026
599026
 
Backtracking - Gerar todos os subconjuntos
Backtracking - Gerar todos os subconjuntosBacktracking - Gerar todos os subconjuntos
Backtracking - Gerar todos os subconjuntos
 
Aula1 c++ builder
Aula1   c++ builderAula1   c++ builder
Aula1 c++ builder
 
Problema das N rainhas (Backtracking)
Problema das N rainhas (Backtracking)Problema das N rainhas (Backtracking)
Problema das N rainhas (Backtracking)
 
TRABALHO PARADIGMAS - C++
TRABALHO PARADIGMAS - C++TRABALHO PARADIGMAS - C++
TRABALHO PARADIGMAS - C++
 
Redes Neurais Artificiais
Redes Neurais ArtificiaisRedes Neurais Artificiais
Redes Neurais Artificiais
 
Caminhos Mínimos - Algoritmo de Dijkstra
Caminhos Mínimos - Algoritmo de DijkstraCaminhos Mínimos - Algoritmo de Dijkstra
Caminhos Mínimos - Algoritmo de Dijkstra
 
Introdução à Programação C++ com Qt 4
Introdução à Programação C++ com Qt 4Introdução à Programação C++ com Qt 4
Introdução à Programação C++ com Qt 4
 
Livro Linguagem C - Completo
Livro Linguagem C - CompletoLivro Linguagem C - Completo
Livro Linguagem C - Completo
 
Fundamentos da programação de computadores 2ª edição
Fundamentos da programação de computadores   2ª ediçãoFundamentos da programação de computadores   2ª edição
Fundamentos da programação de computadores 2ª edição
 
Introdução pascal
Introdução pascalIntrodução pascal
Introdução pascal
 
Javascript
JavascriptJavascript
Javascript
 
Tabela Hash
Tabela HashTabela Hash
Tabela Hash
 
Tópicos - Computacao Paralela Programação 3 (Visão geral)
Tópicos - Computacao Paralela Programação 3 (Visão geral)Tópicos - Computacao Paralela Programação 3 (Visão geral)
Tópicos - Computacao Paralela Programação 3 (Visão geral)
 
Agrupamento (clustering) - K-Means
Agrupamento (clustering) - K-MeansAgrupamento (clustering) - K-Means
Agrupamento (clustering) - K-Means
 

Semelhante a Estruturas de dados com C++ e STL

Introdução a Linguagem C
Introdução a Linguagem CIntrodução a Linguagem C
Introdução a Linguagem C
Vê Rodrigues
 
Apostila C++ Básico - UNIVERSIDADE ESTADUAL PAULISTA “JÚLIO DE MESQUITA FILHO”
Apostila C++ Básico - UNIVERSIDADE ESTADUAL PAULISTA “JÚLIO DE MESQUITA FILHO”Apostila C++ Básico - UNIVERSIDADE ESTADUAL PAULISTA “JÚLIO DE MESQUITA FILHO”
Apostila C++ Básico - UNIVERSIDADE ESTADUAL PAULISTA “JÚLIO DE MESQUITA FILHO”
Kratos879
 

Semelhante a Estruturas de dados com C++ e STL (20)

Test-driven Development
Test-driven DevelopmentTest-driven Development
Test-driven Development
 
Estrutura de Dados - Aula de revisão de C na prática
Estrutura de Dados - Aula de revisão de C na práticaEstrutura de Dados - Aula de revisão de C na prática
Estrutura de Dados - Aula de revisão de C na prática
 
Introdução a Linguagem C
Introdução a Linguagem CIntrodução a Linguagem C
Introdução a Linguagem C
 
Introdução à Linguagem de Programação C
Introdução à Linguagem de Programação CIntrodução à Linguagem de Programação C
Introdução à Linguagem de Programação C
 
Introdução a linguagem C# (CSharp)
Introdução a linguagem C# (CSharp)Introdução a linguagem C# (CSharp)
Introdução a linguagem C# (CSharp)
 
IEEEweek 2017 @ DETI Univ. Aveiro - Workshop Python
IEEEweek 2017 @ DETI Univ. Aveiro - Workshop PythonIEEEweek 2017 @ DETI Univ. Aveiro - Workshop Python
IEEEweek 2017 @ DETI Univ. Aveiro - Workshop Python
 
Top0
Top0Top0
Top0
 
Top0
Top0Top0
Top0
 
Series lab
Series labSeries lab
Series lab
 
Pymordida0 Semana de computação da SOCIESC - 2008/10
Pymordida0 Semana de computação da SOCIESC - 2008/10Pymordida0 Semana de computação da SOCIESC - 2008/10
Pymordida0 Semana de computação da SOCIESC - 2008/10
 
Python
PythonPython
Python
 
Apostila C++ Básico - UNIVERSIDADE ESTADUAL PAULISTA “JÚLIO DE MESQUITA FILHO”
Apostila C++ Básico - UNIVERSIDADE ESTADUAL PAULISTA “JÚLIO DE MESQUITA FILHO”Apostila C++ Básico - UNIVERSIDADE ESTADUAL PAULISTA “JÚLIO DE MESQUITA FILHO”
Apostila C++ Básico - UNIVERSIDADE ESTADUAL PAULISTA “JÚLIO DE MESQUITA FILHO”
 
Apostila c++ básico
Apostila c++ básicoApostila c++ básico
Apostila c++ básico
 
Apostila c++ básico (1)
Apostila c++ básico (1)Apostila c++ básico (1)
Apostila c++ básico (1)
 
Curso de ShellScript - Lm09 shellscript9
Curso de ShellScript - Lm09 shellscript9Curso de ShellScript - Lm09 shellscript9
Curso de ShellScript - Lm09 shellscript9
 
Aula 3-lógica.pptx
Aula 3-lógica.pptxAula 3-lógica.pptx
Aula 3-lógica.pptx
 
C curso - notas de aula
C   curso - notas de aulaC   curso - notas de aula
C curso - notas de aula
 
Estrutura de dados - Aula de Revisão (Linguagem C/C++, Função, Vetor, Matriz,...
Estrutura de dados - Aula de Revisão (Linguagem C/C++, Função, Vetor, Matriz,...Estrutura de dados - Aula de Revisão (Linguagem C/C++, Função, Vetor, Matriz,...
Estrutura de dados - Aula de Revisão (Linguagem C/C++, Função, Vetor, Matriz,...
 
Estrutura de Dados - Aula de revisão de c na prática
Estrutura de Dados - Aula de revisão de c na práticaEstrutura de Dados - Aula de revisão de c na prática
Estrutura de Dados - Aula de revisão de c na prática
 
Modulo02
Modulo02Modulo02
Modulo02
 

Mais de Marcos Castro

Mais de Marcos Castro (20)

Árvores de Decisão
Árvores de DecisãoÁrvores de Decisão
Árvores de Decisão
 
Colored de Bruijn Graphs
Colored de Bruijn GraphsColored de Bruijn Graphs
Colored de Bruijn Graphs
 
Maratona de Programação
Maratona de ProgramaçãoMaratona de Programação
Maratona de Programação
 
Bioinformática
BioinformáticaBioinformática
Bioinformática
 
Arquivos FASTQ
Arquivos FASTQArquivos FASTQ
Arquivos FASTQ
 
Ferramentas para Bioinformática
Ferramentas para BioinformáticaFerramentas para Bioinformática
Ferramentas para Bioinformática
 
A importância da Bioinformática
A importância da BioinformáticaA importância da Bioinformática
A importância da Bioinformática
 
Bioinformática
BioinformáticaBioinformática
Bioinformática
 
Problema do Caixeiro Viajante
Problema do Caixeiro ViajanteProblema do Caixeiro Viajante
Problema do Caixeiro Viajante
 
Metaheurística Simulated Annealing
Metaheurística Simulated AnnealingMetaheurística Simulated Annealing
Metaheurística Simulated Annealing
 
Algoritmos gulosos
Algoritmos gulososAlgoritmos gulosos
Algoritmos gulosos
 
Programação dinâmica
Programação dinâmicaProgramação dinâmica
Programação dinâmica
 
Busca em largura - BFS
Busca em largura - BFSBusca em largura - BFS
Busca em largura - BFS
 
Análise Assintótica
Análise AssintóticaAnálise Assintótica
Análise Assintótica
 
Python - Set
Python - SetPython - Set
Python - Set
 
Binary heap
Binary heapBinary heap
Binary heap
 
Fila de prioridades
Fila de prioridadesFila de prioridades
Fila de prioridades
 
Agrupamento de sequências biológicas
Agrupamento de sequências biológicasAgrupamento de sequências biológicas
Agrupamento de sequências biológicas
 
Longest palindromic subsequence (LPS)
Longest palindromic subsequence (LPS)Longest palindromic subsequence (LPS)
Longest palindromic subsequence (LPS)
 
Bioinformática com Biopython
Bioinformática com BiopythonBioinformática com Biopython
Bioinformática com Biopython
 

Último

Último (9)

ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docxATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
 
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docxATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
 
ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx
ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docxATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx
ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx
 
Programação Orientada a Objetos - 4 Pilares.pdf
Programação Orientada a Objetos - 4 Pilares.pdfProgramação Orientada a Objetos - 4 Pilares.pdf
Programação Orientada a Objetos - 4 Pilares.pdf
 
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docxATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
 
Padrões de Projeto: Proxy e Command com exemplo
Padrões de Projeto: Proxy e Command com exemploPadrões de Projeto: Proxy e Command com exemplo
Padrões de Projeto: Proxy e Command com exemplo
 
Boas práticas de programação com Object Calisthenics
Boas práticas de programação com Object CalisthenicsBoas práticas de programação com Object Calisthenics
Boas práticas de programação com Object Calisthenics
 
ATIVIDADE 1 - SISTEMAS DISTRIBUÍDOS E REDES - 52_2024.docx
ATIVIDADE 1 - SISTEMAS DISTRIBUÍDOS E REDES - 52_2024.docxATIVIDADE 1 - SISTEMAS DISTRIBUÍDOS E REDES - 52_2024.docx
ATIVIDADE 1 - SISTEMAS DISTRIBUÍDOS E REDES - 52_2024.docx
 
Luís Kitota AWS Discovery Day Ka Solution.pdf
Luís Kitota AWS Discovery Day Ka Solution.pdfLuís Kitota AWS Discovery Day Ka Solution.pdf
Luís Kitota AWS Discovery Day Ka Solution.pdf
 

Estruturas de dados com C++ e STL

  • 1. CURSO DE MARATONA DE PROGRAMAÇÃO ICT-Unifesp
  • 2.  Iremos utilizar a STL (biblioteca padrão do C++).  Por que?  STL possui várias estruturas implementadas.  Estudos dizem que você irá escrever menos e poderá obter mais !!  Lembre-se:  A STL ajuda, mas não faz milagres!  Estude os mais diversos algoritmos e técnicas de programação.  Use a STL de forma adequada.  Exemplo: uso vetor (vector) ou lista (list) ?  Resolva (muitos=2)^10 problemas. 2
  • 3.  O objetivo é maratona de programação.  A maratona é democrática, você pode programar até em Java!  Com a palavra ViniGodoy: 3
  • 4.  Relax, não é preciso dominar a linguagem...  Só precisamos saber um pouquinho...  Você pode misturar C e C++.  Ou pode fazer o código totalmente em C e salvar como .cpp :D  Seu foco maior será nos algoritmos e técnicas para resolver os problemas.  C++ e STL te ajudarão a não ter maiores dores de cabeça! 4
  • 5. 5
  • 6.  No C fazíamos: 6
  • 7.  No C++ utilizando STL:  Não esquecer de incluir: #include <vector> 7
  • 8.  Ok, escrevemos menos quando fizemos em C, mas você pode passar para o construtor a quantidade de elementos, será inicializado tudo com 0 e aí você só atribui os valores: 8
  • 9.  O vector possui várias operações.  Vimos a função push_back que insere elementos, mas existem outras...  A função erase apaga elementos:  A função clear que remove todos os elementos: v.clear(); 9
  • 10.  Pergunta: remove o último elemento ? 10
  • 11.  Pergunta: remove o último elemento ? 11
  • 12.  Corrigindo...  O begin() aponta para o primeiro elemento e o end() não aponta para o último elemento, entendeu? Nem eu! 12
  • 14.  String do C++ também é legal, você pode passar o conteúdo no construtor: 14
  • 15.  Mas eu tenho uma string do C! Ok ... 15
  • 16.  Mas eu tenho uma string do C, quero passar para C++ e quero imprimir a string do C++ com o saudoso printf! Ok ...... 16
  • 17.  As funções mantêm um certo padrão.  Lembra das funções size() e erase() ?  Elas existem para string! O que é impresso na última linha? 17
  • 18.  Copiando uma string (saudades da strcpy ??) : 18
  • 19.  Desafio: o que imprimirá cada um dos códigos? 19
  • 21.  Acessando os elementos: 21
  • 22.  Lembra da pilha que você teve que implementar em estrutura de dados?  Sem sofrimento, basta você incluir: #include <stack> 22
  • 23.  A remoção é feita com a função pop(): 23
  • 24.  Verificar se a pilha está vazia: 24
  • 25.  Lembra da fila do banco? Inclua: #include <queue> 25
  • 26.  Utilize a função back() para saber quem é o último da fila: 26
  • 27.  Quer associar elementos por chave/valor? #include <map> 27
  • 28.  Verificando se uma chave existe: 28
  • 29.  Não temos a chave “blabla”, o que será impresso? 29
  • 30.  Percorrendo o map...  A impressão ocorre na ordem em que os elementos foram inseridos? 30
  • 31.  Permite inserir elementos no início e no final:  #include <queue> ou #include <deque> 31
  • 33.  E se fosse uma fila, funcionaria o código abaixo? 33
  • 34.  E se fosse uma fila, funcionaria o código abaixo? 34
  • 35.  O set não permite elementos repetidos. Basta incluir: #include <set>  Os elementos são mantidos em ordem crescente. 35
  • 36.  Mas eu preciso de um set com elementos repetidos em ordem crescente.  Seus problemas acabaram: multiset 36
  • 37.  Ouvi dizer que em C++ você programa com classe...  Struct é quase igual a uma classe... O código abaixo compila? 37
  • 38.  Agora sim código abaixo compila!  Os membros por default de uma classe são privados, então colocamos o public: 38
  • 39.  O código abaixo compila!  Os membros por default de uma struct são públicos. 39
  • 40.  Alguns algoritmos estão implementados para você utilizar.  #include <algorithm>  Ordenar os elementos em ordem crescente: sort() 40
  • 41.  Imprimir todas as permutações: next_permutation() 41
  • 42.  Busca binária: binary_search() 42
  • 43. 43
  • 44.  Tem quase tudo aqui: http://www.cplusplus.com/reference  Curso de C++ (~ 100 vídeo-aulas): https://goo.gl/BFbNOL  Maratona de Programação com STL: http://goo.gl/eyhOzq  Contato: mcastrosouza@live.com 44