1. 程式人生 > >c/c++ 標準容器 forward_list resize 操作

c/c++ 標準容器 forward_list resize 操作

auto esp ++ iostream ace qq群 lac end erase

c/c++ 標準容器 forward_list resize 操作

forward_list特有的方法:

  • insert_after
  • emplace_after
  • erase_after

知識點

1,forward_list容器的使用,對應代碼裏的test1

2,resize的使用,對應代碼裏的test2

#include <iostream>
#include <vector>
#include <string>
#include <list>
#include <forward_list>
#include <deque>

using namespace std;

int main(){
  //test1 forward_list容器的使用                                                
  //insert_after,emplace_after,erase_after                                      
  /*                                                                            
  forward_list<int> fl{0,1,2,3,4,5};                                            
  //返回頭叠代器                                                                
  auto head = fl.before_begin();                                                
  //在head的後面插入6,並返回指向6的叠代器,第一個元素是6                        
  auto it = fl.insert_after(head, 6);                                           
  cout << *it << endl;                                                          
  for(auto s : fl){                                                             
    cout << s << " ";                                                           
  }                                                                             
  cout << endl;                                                                 
  auto it1 = fl.erase_after(it);                                                
  cout << *it1 << endl;                                                         
  for(auto s : fl){                                                             
    cout << s << " ";                                                           
  }                                                                             
  cout << endl;                                                                 
  fl.pop_front();                                                               
  for(auto s : fl){                                                             
    cout << s << " ";                                                           
  }                                                                             
  cout << endl;                                                                 
  */

  //test2 resize                                                                
  //如果當前容器的大小大於所要求的大小,容器後部的元素會被刪除;                
  //如果當前容器的大小小於所要去的大小,會講新元素添加到容器的後部              
  list<int> li(5,11);
  cout << li.size() << endl;
  for(auto s : li){
    cout << s << " ";
  }
  cout << endl;
  li.resize(7,2);
  cout << li.size() << endl;
  for(auto s : li){
    cout << s << " ";
  }
  cout << endl;
  li.resize(3,8);//因為3小於原來容器的大小7,所以第二個參數8就被忽略了          
  cout << li.size() << endl;
  for(auto s : li){
    cout << s << " ";
  }
  cout << endl;
}

c/c++ 學習互助QQ群:877684253

本人微信:xiaoshitou5854

c/c++ 標準容器 forward_list resize 操作