C++學習筆記1

來源:互聯網
上載者:User

for(vector<student-info>::const-iterator iter=students.begin();iter!=student.end();iter++)

{

  cout<<(*iter).name<<endl;

}

每個容器都有一個關聯的iterator

container-type:const-iterator 唯讀

         iterator

vector:快速隨機訪問,類似數組

list:適合快速插入和刪除,類似鏈表

list<student> extract_fails(list<student>& students)

{

  list<student> fail;

  list<student>::iterator iter=students.begin();

  while(iter!=students.end())

  {

  if(fgrade(*iter))

  {

  fail.push_back(*iter);

  iter=students.erase(iter);

}

  else

  ++iter;

}

return fail;

}

 

list 不能用sort排序 內建了sort排序演算法,用法如下:

  list<student> students;

  students.sort(compare);

 

  copy函數

  copy(buttom.begin(),bottom.end(),back.inserter(ret)); 

  

  找一個頁面中的連結

  vector<string> find_urls(const string &s)

  {

  vector<string> ret;

  typedef string::const-iterator iter;

  iter b=s.begin(),e=s.end();

  while(b!=e){

  b=url_beg(b,e);//發現一個letters

  if(b!=e){

  iter after=url.end(b.e);//獲得對應的url

  ret.push_back(string(b.after));//記住url

  b=after;

}

}

return ret;

}

 

accumulate(v.begin(),v.end(),0.0);//累加函數,屬於<numeric>庫

理解使用演算法和迭代器以及iterators一個首要的重點:演算法只作用於容器中的容器,而非容器本身。

待續......

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.