Baixe o app para aproveitar ainda mais
Prévia do material em texto
FICHA DE LEITURA UNIVERDIDA METODISTA UNIDA DE MOÇAMBIQUE ENGENHARIA INFORMÁTICA Disciplina: Algoritmo e Estrutura de Dados Estudante: Daniel 1 - DADOS GERAIS DA OBRA Nome do autor: Regene Lamb Título completo da obra: Vectores em C++ 2- SINTESE DO TEXTO LIDO O texto dedica -se exclusivamente a explicação técnica e sistemática de vetores na linguagem de programação e exclusivamente em C++. Desta feita procura -se obter conhecimento técnico de vectores, para uma posterior aplicação em futuros trabalhos envolvendo técnica de uso do referenciado acima. 3- ALIAÇÃO GERAL DA OBRA Vector é um tipo de contêiner seqüêncial, baseado em arrays. Ele suporta iteradores de acesso aleatório, que são normalmente implementados como ponteiros para os elementos de um vetor. Vetores desta classe podem ser de tipos de dados primitivos (inteiros, strings, pontos flutuante), bem de tipos definidos pelo usuário (classes). Como esta estrutura de dados trabalha com posições de memória contíguas, o acesso direto a seus elementos também pode ser feito através do operador subscrito [ ]. Para usar os recursos desta classe, basta inserir o cabeçalho <vector> no código. Para criar um objeto vector, usa-se: std::vector<tipo_do_objeto> nome_do_objeto. As operações freqüentementeutilizadas são: push_back(elemento), pop_back(), insert(posição, elemento), erase(posição), clear(), empty(), size(), begin() e end(). A classe vector é uma alternativa à representação de array primitivo • Template de classe – necessário especificar o tipo dos elementos – vector<int> vx; • Necessário incluir o ficheiro “vector.h” – #include <vector> • Alguns métodos – vx.size(); // retorna tamanho do vector vx – vx.empty(); // determina se vector vx está vazio – vx.resize(novo_tamanho); // redimensiona vector vx – vx2=vx; // cópia de vectores O exemplo abaixo apresenta um exemplo simples de programa, usando esta classe com acesso aos elementos do vetor através do operador [ ] #include <iostream> #include <vector> using std::cout; using std::cin; using std::endl; int main() { std::vector<int> meuVetor; // cria um vetor de inteiros vazio if (meuVetor.empty()) // testa se o vetor está vazio cout << "Vetor vazio!" << endl; else cout << "Vetor com elementos!" << endl; meuVetor.push_back(7); // inclue no fim do vetor um elemento meuVetor.push_back(11); meuVetor.push_back(2006); // vai imprimir três elementos {7, 11, 2006} for (int i = 0; i < meuVetor.size(); i++) cout << "Imprimindo o vetor...: " << meuVetor[i] << endl; cout << endl; meuVetor.pop_back(); // retira o último elemento // agora, só vai imprimir dois {7, 11} for (int i = 0; i < meuVetor.size(); i++) cout << "Meu vetor, de novo...: " << meuVetor[i] << endl; system("PAUSE"); return 0; } Definição de um vector com determinado tamanho Elementos podem ser acedidos através de índice Elementos são inicializados com valor de defeito do tipo. Podese atribuir um valor inicial: – vector v1(10,-1); // v1 contém 10 elementos do tipo // inteiro inicializados a -1 Definição de um vector sem tamanho (vazio) – vector<int> vy; Tamanho e Capacidade Alocação Dinâmica de Memória Arrays Primitivos Crescimento Aumento da Capacidade Redimensiona vector usando método resize(int) Crescimento Dinâmico A dimensão do vector é alterada dinamicamente quando se usa push_back. Teste de Crescimento Dinâmico Inserção e Eliminação Atribuição, Pesquisa e Troca Exemplo Construtores de vector Operadores em Vectors Métodos em Vectores
Compartilhar