浅谈STL中vector的应用

vector  a; //定义 a 数组,当前数组长度为 0,但和普通数组不同的是,此数组 a 可以根据存储数据的数量自动变长。
//向数组 a 中添加 10 个元素
for (int i = 0; i < 10 ; i++)
a.push_back(i)
//还可以手动调整数组 a 的大小
a.resize(100);
a[90] = 100;
//还可以直接删除数组 a 中所有的元素,此时 a 的长度变为 0
a.clear();
//重新调整 a 的大小为 20,并存储 20 个 -1 元素。
a.resize(20, -1)

vector prime;

定义一个double类型的变量;

prime.reserve(20);

这样就设置了容器的内存分配,即至少可以容纳 20 个元素。注意,如果 vector 的容量在执行此语句之前,已经大于或等于 20 个元素,那么这条语句什么也不做;另外,调用 reserve() 不会影响已存储的元素,也不会生成任何元素,即prime容器内此时仍然没有任何元素。

注:如果调用 reserve() 来增加容器容量,之前创建好的任何迭代器(例如开始迭代器和结束迭代器)都可能会失效,这是因为,为了增加容器的容量,vector 容器的元素可能已经被复制或移到了新的内存地址。所以后续再使用这些迭代器时,最好重新生成一下。

vectorprime{1,2,3,4,5}

同时定义元素个数和初始值;

vector  values(20);

定义容器中的元素个数,并令其初始值均为0;

如若不想以0作为容器初始值可以写成:

vector values(20,3);

这样元素的初始值均为3;此处括号里的值既可以为常量也可以为变量,即

int num=2;
double l=12.3;
vector vaule(num,l);

通过相同类型的容器也可以储存与它同样的元素;

vectors1(5,'c');
vectors2(s1);

亦可在前者基础上进行操作,例如:

int a[]={1,2,3};
std::vectorvalues(a, a+2);//values 将保存{1,2}
std::vectorvalue1{1,2,3,4,5};
std::vectorvalue2(std::begin(value1),std::begin(value1)+3);//value2保存{1,2,3}

vector 容器的函数成员表

浅谈STL中vector的应用_第1张图片

vector 容器中部分函数的作用

#include 
#include 
using namespace std;
int main()
{
    //初始化一个空vector容量
    vectorvalue;
    //向value容器中的尾部依次添加 J,S,H 字符
    value.push_back('J');
    value.push_back('S');
    value.push_back('H');
    //调用 size() 成员函数容器中的元素个数
    printf("元素个数为:%d\n", value.size());
    //使用迭代器遍历容器
    for (auto i = value.begin(); i < value.end(); i++)
    {
        cout << *i << " ";
    }
    cout << endl;
    //向容器开头插入字符
    value.insert(value.begin(), 'C');
    cout << "首个元素为:" << value.at(0) << endl;
    return 0;
}

你可能感兴趣的:(蓝桥杯,散列表,c++)