美文网首页C++
浅谈vector

浅谈vector

作者: 咻咻咻i | 来源:发表于2017-06-06 15:40 被阅读0次

    简介

    std::vector (向量): C++中的一种数据结构, 是封装动态数组的序列容器。内部元素是连续存储的, 可以通过迭代器和下标访问元素。

    用法

    • 包含头文件 #include <vector> 需要添加 using namespace std; 如:
    #include <iostream>
    #include <vector>
    using namespace std;
    int main()
    {
        vector<int> num;
        .....
    }
    

    如要在.hpp中定义可以:

    ...
    #include <vector>
    ...
    std::vector<int> num;
    ...
    
    • 变量声明
      容器中可以储存任意类型的数据,如:
    // 常用类型 构成相应的数组
    vector<int> n; 
    vector<string> s;
    // 也可以是自定义类型 类
    vector<class> cl; 
    ...
    
    • 常用功能
    方法 简介
    clear() 移除容器中所有数据。
    empty() 判断容器是否为空。
    erase(pos) 删除pos位置的数据
    erase(beg,end) 删除[beg,end)区间的数据
    front() 传回第一个数据。
    insert(pos, elem) 在pos位置插入一个elem拷贝
    pop_back() 删除最后一个数据。
    push_back(elem) 在尾部加入一个数据。
    resize(num) 重新设置该容器的大小
    size() 回容器中实际数据的个数。
    begin() 返回指向容器第一个元素的迭代器
    end() 返回指向容器最后一个元素的迭代器
    • 遍历方法
    1. 通过迭代器遍历
    #include <iostream>
    #include <vector>
    using namespace std;
    int main()
    {
            vector<int> num;
            for(int i = 0; i < 10; i++)
            {
                num.push_back(i);
            }
            for(vector<int>::iterator it = num.begin(); it < num.end(); it++)
            { 
                 cout << *it << endl;
            }
    }
    
    1. 通过下标遍历 和数组类似
    #include <iostream>
    #include <vector>
    using namespace std;
    int main()
    {
            vector<int> num;
            for(int i = 0; i < 10; i++)
            {
                num.push_back(i);
            }
            for(size_t i = 0; i < num.size(); i++)
            {
                 cout << num[i] << endl;
            }
    }
    

    结语

    该数据结构相当于一个动态的数组,当程序员无法知道自己需要的数组的规模多大时,用其来解决问题可以达到最大节约空间的目的。
    详细内容见 api 文档

    相关文章

      网友评论

        本文标题:浅谈vector

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