STL Container

1、以標準輸入裝置完成初始化操作:

vector<int> vec((std::istream_iterator<int>(cin)),(std::istream_iterator<int>()));

注意不要遺漏了涵括“初始化參數”的那對“多餘的”括號,否則這個表達式的意義會迥然不同。


以標準輸出堵操作:

//print elements separated with spaces

copy(vec.begin(),vec.end(),ostream_iterator<int>(cout," "));


2、vectors 並未提供任何函數可以直接移除“與某值相等”的所有元素。

以下語句可將所有其值爲val的元素移除:

std::vector<Elem> coll;

//remove all elements with value val

coll.erase(remove(coll.begin(),coll.end(),val),coll.end());

如果只是要移除“與某值相等”的第一個元素,可以這麼做:

std::vector<Elem> coll;

//remove first element with value val

std::vector<Elem> ::iterator pos;

pos = find(coll.begin(),coll.end(),val);

if(pos!=coll.end()){

coll.erase(pos);

}

發佈了29 篇原創文章 · 獲贊 3 · 訪問量 1萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章