Copiar vetor c ++

Copiar vetor c ++
Os vetores são recipientes seqüenciais que representam matrizes de tamanho variável. Os vetores, como matrizes, utilizam espaços de armazenamento contíguos para seus elementos, o que significa que eles podem ser acessados ​​usando faixas em ponteiros comuns para seus elementos da mesma maneira que as matrizes podem. No entanto, diferentemente das matrizes, seu tamanho varia dinamicamente, com o armazenamento de lidar com o armazenamento automaticamente.

Na situação das matrizes, a única maneira de copiar uma matriz para outra é usar uma abordagem iterativa, que envolve a execução de um loop e copiar cada elemento em seu índice apropriado. Felizmente, as aulas de vetores incluem muitas maneiras de copiar um vetor inteiro para outro de uma maneira mais conveniente.

Copiar um vetor implica criar um novo vetor que tenha uma cópia de todos os componentes do vetor original na mesma ordem.

Exemplo 1: std :: cópia método para copiar vetor em c++

O std :: cópia é uma função interna para copiar itens de um vetor para o outro. No entanto, verifique se o vetor alvo tem espaço suficiente para manter todos os componentes da sequência original.

O programa possui a seção de cabeçalho com os arquivos necessários. Primeiro, temos o arquivo iostream; Em seguida, temos um arquivo vetorial, um arquivo de biblioteca interno padrão em C++. Através desta biblioteca, podemos usar vetores no programa. Em seguida, temos um arquivo de cabeçalho do algoritmo para copiar elementos de vetores. Também incluímos o arquivo de iterador no programa, o que nos permite acessar os elementos nos vetores.

Agora, temos a principal função em que declaramos uma variável como "VEC1" do tipo vetorial e a inicializamos com a matriz inteira. Em seguida, declaramos outra variável do tipo vetor. Em seguida, invocou a função de cópia, que copia todos os elementos de "VEC1" para "VEC2". A função Begin () pega o primeiro iterador de vetor, a função final () pega o último iterador do vetor, e o back_insertor aqui insere os elementos da parte traseira.

Então temos a condição de loop, que atinge o ciclo sobre cada elemento armazenado no "VEC1" e imprime os elementos. O mesmo é o caso dos elementos "VEC2"; Também itera através do ciclo de loop for e imprimirá na tela rápida.

#incluir
#incluir
#incluir
#incluir
usando namespace std;
int main ()
vetor vec1 3, 6, 6, 11;
vetor vec2;
cópia (VEC1.BEGIN (), VEC1.end (), back_inserter (vec2));
cout << "Elements of Vector1 : ";
para (int v = 0; vcout << vec1[v] << " ";
cout << endl;
cout << "Elements of Vector2 : ";
para (int v = 0; vcout << vec2[v] << " ";
cout<< endl;
retornar 0;

A saída do programa acima demonstra que o vetor foi copiado para o outro vetor.

Exemplo2: Atribuir () Método para copiar o vetor em C++

Outra alternativa é usar o método de membro público da classe vetorial atribuído (), que substitui os elementos vetoriais por elementos do intervalo definido.

Incluímos todos os arquivos necessários na seção de cabeçalho, que nos permite acessar os elementos vetoriais, copiar o elemento vetorial e também nos permitir usar vetores no programa. Além disso, o arquivo de namespace std está incluído no cabeçalho do programa.

A próxima etapa é invocar a principal função na qual a implementação do programa foi feita para execução. Primeiro, definimos uma variável do tipo vetor. Em seguida, temos outra variável, "b" também do tipo vetorial.

Depois de definir a variável, usamos o método atribuir (), que retorna o iterador apontando para o primeiro e o último vetor "a". O método atribuiu os elementos do vetor “A” para o vetor “B” elementos. Agora, o loop for usado para iterar sobre o vetor "A" elementos e imprimirá os elementos do vetor "a". O loop for também é usado para a iteração nos elementos do vetor “B” e exibe esses elementos através do comando cout.

#incluir
#incluir
#incluir
#incluir
usando namespace std;
int main ()
vetor a 3, 5, 7, 9, 11;
vetor b;
b.atribuir (a.BEGIN (), A.fim());
cout << "Elements of vector : ";
para (int i = 0; icout << a[i] << " ";
cout << endl;
cout << "Elements of new vector : ";
para (int i = 0; icout << b[i] << " ";
cout<< endl;
retornar 0;

O vetor é copiado para o outro vetor. Portanto, também podemos usar a função Atribuir em C ++ para copiar elementos vetoriais para os outros elementos do vetor.

Exemplo 3: Método do operador de atribuição para copiar o vetor em C++

Um vetor também pode ser copiado em outro vetor com o operador de atribuição. A razão pela qual esse operador de atribuição funciona é que apenas substitui os membros existentes se algum deles estiver acessível, caso contrário, atribui o item de onde ele é copiado.

A primeira etapa incluiu arquivos essenciais na seção de cabeçalho necessária para este programa. Além disso, temos um arquivo de namespace std para usar sua função no programa. Em seguida, temos a principal função na qual declaramos duas variáveis, "Vector1" e "Vector2" do tipo vetorial. Somente "Vector1" é inicializado com a matriz inteira.

Agora, temos um operador de atribuição (=) que copia os itens "Vector1" para os itens "Vector2", simplesmente colocando o operador "=" entre o "Vector1" e o "Vector2". O loop for usado para a iteração em relação aos vetores fornecidos, respectivamente, e imprime os itens presentes nos vetores especificados através do objeto Cout.

#incluir
#incluir
#incluir
#incluir
usando namespace std;
int main ()
vetor Vector1 0, 2, 4, 6, 8;
vetor vetor2;
vetor2 = vetor1;
cout << "vector1 elements : ";
para (int i = 0; icout << vector1[i] << " ";
cout << endl;
cout << "vector2 elements : ";
para (int i = 0; icout << vector2[i] << " ";
cout<< endl;
retornar 0;

Os elementos do Vector1 são copiados para os elementos Vector2, como mostrado na seguinte tela pronta.

Exemplo 4: método construtor para copiar o vetor em c++

Quando um vetor é declarado, passar um vetor inicializado existente copia os itens do vetor especificado para o vetor recém -declarado. Temos que fornecer um vetor de origem ao vetor de destino como construtor, que será chamado de Cópia Construtor.

Começando com a seção de cabeçalho, temos alguns arquivos de biblioteca internos padrão de C ++ que são necessários para este programa. A função principal é então invocada onde declaramos uma variável do tipo vetorial como "P". A variável "P" contém a matriz de números inteiros. Então, declarando um novo vetor como "P" e passando um elemento de um vetor existente "P" no método do construtor.

Através do método construtor, os elementos do vetor "P" são copiados para o vetor "q". O loop for usado para os vetores "P" e "Q" e será impresso na tela rápida do Ubuntu.

#incluir
#incluir
#incluir
#incluir
usando namespace std;
int main ()
vetor P 1996, 1997, 1998, 1999;
vetor q (p);
cout << "Elements of old vector : ";
para (int i = 0; icout << p[i] << " ";
cout << endl;
cout << "Elements of new vector: ";
para (int i = 0; icout << q[i] << " ";
cout<< endl;
retornar 0;

Portanto, os elementos são copiados do antigo vetor "P" para o novo vetor "Q" na tela seguinte.

Conclusão

Aprendemos sobre muitos métodos para copiar um vetor em um novo vetor. Usamos quatro abordagens diferentes para copiar vetores em C++. Essas abordagens incluíram o método STD :: Copy, Atribuir o método, o método do operador de atribuição e um vetor de origem que passa como um construtor. Com os resultados comprovados desses métodos usados ​​no programa, copiamos os elementos dos elementos vetoriais existentes para o vetor recém -formado na linguagem de programação C ++.