美文网首页
c++的vector库常用函数

c++的vector库常用函数

作者: professordeng | 来源:发表于2018-09-14 18:02 被阅读0次

    vector 是一个能够存放任意类型的动态数组。由于实现了很多数组的常用操作,故使用起来相当灵活舒畅。我将以每行代码加注释的方式讲解。

    1.创建 vector

    vector<int> vec(10) ;                           //声明一个初始大小为10的向量
    vector<int> vec(10, 1) ;                       //声明一个初始大小为10且初始值都为1的向量
    vector<int> b(vec) ;                             //声明并用向量vec初始化向量b
    
    int n[] = {1, 2, 3, 4, 5} ;
    vector<int> vec(n, n+5) ;              //将数组n的前5个元素作为向量vec的初值
    

    2. vector 属性

    int n[] = {3, 5, 4, 1, 2} ;
    vector<int> vec(n, n+5) ;      //将数组n的前5个元素作为向量vec的初值
    cout<<vec.size()<<endl;              //输出向量大小
    cout<<vec.max_size()<<endl;          //输出向量最大容量
    cout<<vec.capacity()<<endl;          //输出真实大小 ,类似size
    

    3.vector 常规操作

    int n[] = {3, 5, 4, 1, 2} ;
    vector<int> vec(n, n+5) ;      //将数组n的前5个元素作为向量a的初值
    vec.push_back(6);              //在尾部添加一个数据6 
    vec.pop_back();                //在尾部删除数据 
    vec.insert(vec.begin()+2, 7);  //插入操作,第一个参数是指针类型,第二个参数是插入对象 
    vec.erase(vec.begin());        //删除指定位置的数据 
    vec.clear();                   //清除所有元素 
    

    4. vector 迭代器遍历

    int n[] = {3, 5, 4, 1, 2} ;
    vector<int> vec(n, n+5) ;      //将数组n的前5个元素作为向量a的初值
    vector<int>::iterator it;      //遍历指针 
    for (it = vec.begin(); it != vec.end(); it++) //从头遍历到尾部 
        cout << *it << endl;       
    

    当然,也可以进行普通数组下标遍历,这里不再累述。

    5. 元素排序

    利用algorithm头文件的 sort 函数可以轻易实现。

    int n[] = {3, 5, 4, 1, 2} ;
    vector<int> vec(n, n+5) ;      //将数组n的前5个元素作为向量a的初值
    sort(vec.begin(), vec.end()); //采用的是从小到大的排序
    vector<int>::iterator it;      //遍历指针 
    for (it = vec.begin(); it != vec.end(); it++) //从头遍历到尾部 
        cout << *it << endl; 
    

    相关文章

      网友评论

          本文标题:c++的vector库常用函数

          本文链接:https://www.haomeiwen.com/subject/dcoogftx.html