现在的位置: 首页 > 综合 > 正文

Using STL – vector

2017年05月26日 ⁄ 综合 ⁄ 共 1349字 ⁄ 字号 评论关闭

对于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;
}


---->

先整理弄到这里,不定时更新吧。

抱歉!评论已关闭.