vector recipientes pueden ser utilizados vectorName.insert () método para insertar elementos, vectorName. INSERT () función Hay 4 métodos sobrecargados:
El primer uso de insert () : inserta un único elemento en la dirección especificada
1 #include <iostream> 2 #include <vector> 3 4 usando el espacio de nombres estándar; 5 6 int main () 7 { 8 int test [] = { 111 , 222 , 333 , 444 }; 9 vector < int > num (prueba, prueba + 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 ); // Insertar 888 , El primer parámetro necesita usar un iterador para confirmar la posición de inserción 19 20 cout << " === Use insert () para atravesar el contenedor === " << endl; 21 22 for ( int i = 0 ; i <num. tamaño (); i ++ ) 23 { 24 cout << num.at (i) << endl; 25 } 26 27 devuelve 0 ; 28 }
Imprime el resultado:
Como el primer parámetro es un iterador, y como es una dirección, también podemos agregar elementos a la dirección para insertar elementos. Por ejemplo, para insertar un elemento después del segundo elemento, podemos usar insert () para escribir:
1 #include <iostream> 2 #include <vector> 3 4 usando el espacio de nombres estándar; 5 6 int main () 7 { 8 int test [] = { 111 , 222 , 333 , 444 }; 9 vector < int > num (prueba, prueba + 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 ); // posición inicial Inserte 888, el primer parámetro necesita usar un iterador para confirmar la posición de inserción 19 20 cout << " === Use insert () para atravesar el contenedor === " << endl; 21 22 for ( int i = 0 ; i < num.size (); i ++ ) 23 { 24 cout << num.at (i) << endl; 25 } 26 27 devuelve 0 ; 28 }
Imprime el resultado:
El segundo uso insert () : inserta varios elementos en la dirección especificada
La inserción más común de elementos múltiples:
1 #include <iostream> 2 #include <vector> 3 4 usando el espacio de nombres estándar; 5 6 int main () 7 { 8 int test [] = { 111 , 222 , 333 , 444 }; 9 vector < int > num (prueba, prueba + 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 ); // posición inicial Inserte 3 888, el primer parámetro necesita usar un iterador para confirmar la posición de inserción 19 20 cout << " === Use insert () para atravesar el contenedor === " << endl; 21 22 for ( int i = 0 ; i <num.size (); i ++ ) 23 { 24 cout << num.at (i) << endl; 25 } 26 27 devuelve 0 ; 28 }
Imprime el resultado:
Al igual que con el primer uso, dado que el primer parámetro es la dirección del iterador, la posición de inserción se puede controlar mediante la suma y la resta de la dirección.
El tercer tipo de uso de insert () : inserta el iterador de otro contenedor en la dirección especificada
También podemos insertar elementos de otros contenedores del mismo tipo en el contenedor actual. El siguiente código utiliza tres iteradores para insertar múltiples elementos:
1 #include <iostream> 2 #include <vector> 3 4 usando el espacio de nombres estándar; 5 6 int main () 7 { 8 int test [] = { 111 , 222 , 333 , 444 }; 9 vector < int > num (prueba, prueba + 4 ); 10 vector < int > num_1 (prueba + 2 , prueba + 4 ); 11 12 cout << " ========== 遍历 容器 =========== "<< endl; 13 14 for ( 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 ()); // Inserte el elemento de principio a fin en la posición inicial 20 21 cout << " === Use insert () para atravesar el contenedor === " << endl ; 22 23 para ( int i = 0 ; i <num.size (); i ++ ) 24 { 25 cout << num.at (i) << endl; 26 } 27 28 retorno 0 ; 29 }
Imprime el resultado:
================================================== ================================================== =======================