Essa aula vai lhe ensinar a utilizar uma importante estrutura de dados, o vector. Um vector é uma sequência de tamanho variável que contém variáveis de um mesmo tipo, de forma que pode-se adicionar ou remover variáveis dessa sequência. Outra maneira de definir um vector é como um vetor dinâmico, devido a dinamicidade de seu tamanho.

Para declarar um vector basta seguir a seguinte estrutura:

vector< tipo_de_variavel > nome_do_vector;

Por exemplo:

vector< int > I; 
// declaramos um vector de int de nome I
 
vector< char > C; 
// declaramos um outro vector, so que este é de char com nome C

Ao declarar um vector, este possui tamanho inicial igual a 0. Contudo pode-se também, declarar um vector com um tamanho inicial definido, vale lembrar que ele pode ser alterado durante a execução do código. Para isso fazemos:

vector< int > inteiro(1010);
// declaramos um vector de int
// nome inteiro e com um tamanho inicial igual a 1010

Além disso, o vector já possui algumas funções implementadas na STL(Standard Template Library) do C++. Vamos listar as mais utilizadas, caso queira conhecer todas as funções, recomendamos que você acesse esse link.

Adicionar um elemento ao final:

Utilizamos o comando push_back(). Observe o exemplo abaixo:

vector< int > I; // declaramos o vector de int com nome inteiro


I.push_back(10); // adicionamos 10 a I

I.push_back(17); // adicionamos 17 após 10

I.push_back(0); // adicionamos 10 após 0

I.push_back(-15); // adicionamos -15 após 0

Ao final dessas operações, I={10, 17, 0, -15}.

Acessar as posições:

Acessamos as posições de um vector através de seu índice entre colchetes. Vale lembrar que a primeira posição em um vector é 0.

vector< int > I; // declaramos o vector de int com nome inteiro


I.push_back(10); // adicionamos 10 a I

I.push_back(17); // adicionamos 17 após 10

I.push_back(0); // adicionamos 10 após 0

I.push_back(-15); // adicionamos -15 após 0


cout << I[0] << "\n"; // imprimimos a primeira posição de I

cout << I[2] << "\n"; // imprimimos a terceira posição de I

Consultar o tamanho:

O comando size() retorna o tamanho do vector

vector< int > I; // declaramos o vector de int com nome inteiro


I.push_back(10); // adicionamos 10 a I

I.push_back(17); // adicionamos 17 após 10

I.push_back(0); // adicionamos 10 após 0

I.push_back(-15); // adicionamos -15 após 0
 

cout << I.size() << "\n"; // imprimo na tela o tamanho de I, no caso 4

Acessar o primeiro elemento:

Utilizamos o comando front()

vector< int > I; // declaramos o vector de int com nome inteiro
 

I.push_back(10); // adicionamos 10 a I

I.push_back(17); // adicionamos 17 após 10

I.push_back(0); // adicionamos 10 após 0

I.push_back(-15); // adicionamos -15 após 0
 

cout << I.front() << "\n" // imprimimos 10 e uma quebra de linha

Acessar o último elemento:

Utilizamos o comando back().

vector< int > I; // declaramos o vector de int com nome inteiro
 

I.push_back(10); // adicionamos 10 a I

I.push_back(17); // adicionamos 17 após 10

I.push_back(0); // adicionamos 10 após 0

I.push_back(-15); // adicionamos -15 após 0
 

cout << I.back() << "\n" // imprimimos -15 e uma quebra de linha

Apagar o último elemento:

Para isso usamos o comando pop_back().

vector< int > I; // declaramos o vector de int com nome inteiro
 

I.push_back(10); // adicionamos 10 a I

I.push_back(17); // adicionamos 17 após 10

I.push_back(0); // adicionamos 10 após 0

I.push_back(-15); // adicionamos -15 após 0
 

cout << I.back() << "\n" // imprime -15
 

I.pop_back(); // apaga -15 do vector
 

cout << I.back() << "\n" // imprime 0

Percorrer um vector:

Para percorremos um vector, basta escrevemos um loop da primeira posição até a última.

for(int i = 0; i < I.size() ; i++)
{
    // seu código
}

Apagar um vector:

Utilizamos o comando clear() para apagar todos os elementos de um vector

vector< int > I; // declaramos o vector de int com nome inteiro
 

I.push_back(10); // adicionamos 10 a I

I.push_back(17); // adicionamos 17 após 10

I.push_back(0); // adicionamos 10 após 0

I.push_back(-15); // adicionamos -15 após 0
 

cout << I.size() << "\n" // imprime 4


I.clear();


cout << I.size() << "\n" // imprime 0, pois I está vazio

Agora que você já sabe utilizar um vector, treine seu conhecimento fazendo as seguintes questões: