Remoção STL de elementos de contêiner

1. clear () exclui o vetor inteiro

Use vectorname.clear () para excluir todos os elementos no vetor inteiro, mas a memória não será liberada, como o seguinte código:

1 #include <iostream>
 2 #include <vector>
 3  
4  usando o  espaço de nomes std;
 5  
6  int main ()
 7  {
 8      vetor < int > num ( 5 , 111 );
 9      cout << " === use clear () Antes de excluir === " << endl;
 10      cout << " O número de elementos em num: " << num.size () << endl;
 11      cout << " num O tamanho do contêiner: " << num.capacity ( ) <<endl << endl;
12  
13      cout << " === Depois que clear () é usado === " << endl;
 14      num.clear ();
 15      cout << " O número de elementos em num: " << num.size () < < endl;
 16      cout << " num O tamanho do contêiner: " << num.capacity () << endl;
 17  
18      return  0 ;
 19 }

Imprima o resultado:

 

 

 

2. Use erase () para excluir um e vários elementos

Use  vectorname.clear () para excluir elementos únicos e múltiplos no contêiner.Ele retorna um iterador, que é o endereço do próximo elemento após a exclusão.

Exclua um único elemento:

1 #include <iostream>
 2 #include <vector>
 3  
4  usando o  espaço de nomes std;
 5  
6  int main ()
 7  {
 8      int test [] = { 111 , 222 , 333 , 444 , 555 , 666 };
 9      vector < int > num (teste, teste + 6 );
 10      cout << " O número de elementos num: " << num.size () << endl;
 11      cout << " num O tamanho do contêiner:" << num.capacity () << endl;
 12  
13      cout << " === percorre o contêiner do início ao fim === " << endl;
 14      for ( int i = 0 ; i <num.size (); i ++ )
 15      {
 16          cout << num [i] << endl;
 17      }
 18      vetor < int > :: iterator it = num.erase (num.begin () + 3 );          // exclui o terceiro após o primeiro endereço Elementos e retorna o endereço do próximo elemento 
19  
20      cout << " num O número de elementos: " << num.size () << endl;
21      cout << " O tamanho do contêiner de num: " << num.capacity () << endl;
 22  
23      cout << endl << " === Itera sobre o contêiner usando um tipo de iterador === " << endl ;
 24  
25      para ( int i = 0 ; i <num.size () -3 ; i ++ )
 26      {
 27          cout << * it ++ << endl;
 28      }
 29  
30      return  0 ;
 31 }

Imprima o resultado:

 

 

 

Exclua vários elementos:

1 #include <iostream>
 2 #include <vector>
 3  
4  usando o  espaço de nomes std;
 5  
6  int main ()
 7  {
 8      int test [] = { 111 , 222 , 333 , 444 , 555 , 666 };
 9      vector < int > num (teste, teste + 6 );
 10      cout << " O número de elementos num: " << num.size () << endl;
 11      cout << " num O tamanho do contêiner:" << num.capacity () << endl;
 12  
13      cout << " === percorre o contêiner do início ao fim === " << endl;
 14      for ( int i = 0 ; i <num.size (); i ++ )
 15      {
 16          cout << num [i] << endl;
 17      }
 18  
19      vetor < int > :: iterador it = num.erase (num.begin (), num.begin () + 3 );          // Exclua os elementos de 1-3 e retorne o endereço desse último 
elemento ao número de elementos de 20      cout << " num: " <<num.size () <<endl;
 21      cout << " O tamanho do contêiner de num: " << num.capacity () << endl;
 22  
23      cout << endl << " === Itera sobre o contêiner usando um tipo de iterador === " < < endl;
 24      
25      para ( int i = 0 ; i <num.size (); i ++ )
 26      {
 27          cout << * it ++ << endl;
 28      }
 29  
30      return  0 ;
 31 }

 

 Imprima o resultado:

 

 

 

 

 

 

 

 

==================================================== ==================================================== ======================

Acho que você gosta

Origin www.cnblogs.com/CooCoChoco/p/12749389.html
Recomendado
Clasificación