vector()是一种具有连续结构的序列式容器,它没有自定义的查找函数,使用std::find查找元素时间复杂度为O(n)。它依赖于start、finish、end_of_storage三根指针来控制整个容器,它们分别表示vector的起始位置、有效部分的终点位置和实际的终点位置,因此vector容器本身的大小是12 byte。
在本文中,我将多次使用size()和capacity()这两个vector的成员函数,前者表示有效部分的大小,后者表示实际部分的大小,关于二者的差异稍后解释。
1.如何创建一个vector对象?
(1)创建一个int类型的空vector
//创建一个int类型的空vector
vector<int> vec1;
cout << "size=" << vec1.size() << endl;
cout << "capacity=" << vec1.capacity() << endl;
输出:
size=0
capacity=0
需要注意空vector不可通过下标调用法来访问,也就是说下述做法会报错:
cin >> vec1[0];
(2)创建的同时指定个数
//创建的同时指定个数
vector<int> vec2(5);