vetor recipientes podem ser utilizados vectorName.insert () método para inserir elementos, vectorName. INSERIR () função Existem métodos sobrecarregados 4:
O primeiro uso de insert () : insira um único elemento no endereço especificado
1 #include <iostream> 2 #include <vector> 3 4 usando o namespace std; 5 6 int main () 7 { 8 int test [] = { 111 , 222 , 333 , 444 }; Vetor 9 < int > num (teste, teste + 4 ); 10 11 cout << " ========== 遍历 容器 =========== " << endl; 12 13 para ( int i = 0; i <num.size (); i ++ ) 14 { 15 cout << num.at (i) << endl; 16 } 17 18 num.insert (num.begin (), 888 ); // Insira 888 , O primeiro parâmetro precisa usar um iterador para confirmar a posição de inserção 19 20 cout << " === Use insert () para percorrer o contêiner === " << endl; 21 22 for ( int i = 0 ; i <num. size (); i ++ ) 23 { 24 cout << num.at (i) << endl; 25 } 26 27 retornar 0 ; 28 }
Imprima o resultado:
Como o primeiro parâmetro é um iterador, e por ser um endereço, também podemos adicionar elementos ao endereço para inserir elementos.Por exemplo, para inserir um elemento após o segundo elemento, podemos usar insert () para escrever:
1 #include <iostream> 2 #include <vector> 3 4 usando o namespace std; 5 6 int main () 7 { 8 int test [] = { 111 , 222 , 333 , 444 }; Vetor 9 < int > num (teste, teste + 4 ); 10 11 cout << " ========== 遍历 容器 =========== " << endl; 12 13 para ( int i = 0; i <num.size (); i ++ ) 14 { 15 cout << num.at (i) << endl; 16 } 17 18 num.insert (num.begin () + 2 , 888 ); // posição inicial Inserção 888, o primeiro parâmetro precisa usar um iterador para confirmar a posição de inserção 19 20 cout << " === Use insert () para percorrer o contêiner === " << endl; 21 22 para ( int i = 0 ; i < num.size (); i ++ ) 23 { 24 cout << num.at (i) << endl; 25 } 26 27 retorno 0 ; 28 }
Imprima o resultado:
O segundo uso de insert () : insere vários elementos no endereço especificado
A inserção mais comum de vários elementos:
1 #include <iostream> 2 #include <vector> 3 4 usando o namespace std; 5 6 int main () 7 { 8 int test [] = { 111 , 222 , 333 , 444 }; Vetor 9 < int > num (teste, teste + 4 ); 10 11 cout << " ========== 遍历 容器 =========== " << endl; 12 13 para ( int i = 0; i <num.size (); i ++ ) 14 { 15 cout << num.at (i) << endl; 16 } 17 18 num.insert (num.begin (), 3 , 888 ); // posição inicial Insira 3 888, o primeiro parâmetro precisará usar um iterador para confirmar a posição de inserção 19 20 cout << " === Use insert () para percorrer o contêiner === " << endl; 21 22 for ( int i = 0 ; i <num.size (); i ++ ) 23 { 24 cout << num.at (i) << endl; 25 } 26 27 retorno 0 ; 28 }
Imprima o resultado:
Como no primeiro uso, como o primeiro parâmetro é o endereço do iterador, a posição de inserção pode ser controlada pela adição e subtração de endereços.
O terceiro tipo de uso de insert () : insere o iterador de outro contêiner no endereço especificado
Também podemos inserir elementos de outros contêineres do mesmo tipo no contêiner atual.O código a seguir usa três iteradores para inserir vários elementos:
1 #include <iostream> 2 #include <vector> 3 4 usando o namespace std; 5 6 int main () 7 { 8 int test [] = { 111 , 222 , 333 , 444 }; Vetor 9 < int > num (teste, teste + 4 ); 10 vetores < int > num_1 (teste + 2 , teste + 4 ); 11 12 cout << " ========== 遍历 容器 =========== "<< endl; 13 14 para ( int i = 0 ; i <num.size (); i ++ ) 15 { 16 cout << num.at (i) << endl; 17 } 18 19 num.insert (num.begin (), num_1.begin (), num_1.end ()); // Insere o elemento do início ao fim na posição inicial 20 21 cout << " === Use insert () para percorrer o container === " << endl ; 22 23 para ( int i = 0 ; i <num.size (); i ++ ) 24 { 25 cout << num.at (i) << endl; 26 } 27 28 retorno 0 ; 29 }
Imprima o resultado:
==================================================== ==================================================== =======================