对于C++ STL,大部分人的观点都先会用,然后知其道理(怎么工作),最后是修改内部灵活运用。。
即下面的流程:
怎么用====》什么原理====》灵活应用。。
想到自己连用都不能,特别学习一下,达到在怎么用水平上的炉火纯青,然后在去弄明白其中的道理,最后再是灵活应用。。
vector - How to use..
Code:
#include <iostream> #include <algorithm> #include <vector> using namespace std; int main() { vector<int> ve; vector<int>::iterator vit; // push_back().. 压到vector最后.. ve.push_back(1); ve.push_back(2); ve.push_back(3); ve.push_back(4); // begin().. vector的第一个位置. cout << *ve.begin() << endl; // end().. vector的最后一个位置. cout << *(ve.end() - 1) << endl; // 遍历 vector.. for(vit = ve.begin(); vit != ve.end(); vit ++){ cout << *vit << ' '; } cout << endl; // vector.. 能够容纳的数量,并不是已经有多少个. cout << ve.capacity() << endl; ve.push_back(5); cout << ve.capacity() << endl; // empty() 判是否为空. if(!ve.empty()) cout << "No empty!" << endl; //operator [] 遍历vector for(unsigned int i = 0; i < ve.size(); i ++){ cout << ve[i] << ' '; } cout << endl; // front() 返回第一个元素.. cout << ve.front() << endl; // back() 最后一个元素... cout << ve.back() << endl; //pop.back() 将最尾端元素取出.. ve.pop_back(); cout << ve.back() << endl; // erase() 删除某个位置.. vit = ve.begin(); ve.erase(vit); cout << ve.front() << endl; // find(), insert().. vit = find(ve.begin(), ve.end(), 2); if(vit != ve.end()) ve.erase(vit); vit = find(ve.begin(), ve.end(), 3); // insert front of vit. if(vit != ve.end()) ve.insert(vit, 10); cout << ve.front() << endl; // resize() 重新设置vector的容量... ve.resize(100); cout << ve.capacity() << endl; // clear() 清除vector.. ve.clear(); cout << ve.size() << endl; cout << ve.capacity() << endl; return 0; }
---->
先整理弄到这里,不定时更新吧。