声明:
#include <iostream>
#include <vector>
using namespace std;
struct air {
int x, y;
};
int main() {
vector<int> a = {1, 2, 3};
vector<int> a2({1, 2, 3});
vector<int> b[200];
vector<air> c = {{1, 1}};
return 0;
}
size() |
返回实际大小 |
---|---|
empty() |
判断是否为空 |
clear() |
清空 |
迭代器:
迭代器就像STL容器的“指针”,可以用星号*
操作符解除引用。
一个保存int
的vector
的迭代器声明方法为:vector<int>::iterator it = a.begin()
vector的迭代器是“随机访问迭代器”,可以把vector的迭代器与一个整数相加减,其行为和指针的移动类似。可以把vector的两个迭代器相减,其结果也和指针相减类似,得到两个迭代器对应下标之间的距离。
begin/endbegin()
函数返回指向vector中第一个元素的迭代器。例如a
是一个非空的vector,则*a.begin()
与a[0]
的作用相同。
所有的容器都可以视作一个“前闭后开”的结构,end()
函数返回vector的尾部,即第n
个元素再往后的“边界”。*a.end()
与a[n]
都是越界访问,其中n = a.size()
。
#include <iostream>
#include <vector>
using namespace std;
struct air {
int x, y;
};
int main() {
vector<int> a;
for (int i = 1; i <= 5; i++)
a.push_back(i);
for (int i = 0; i < a.size(); i++)
cout << a[i] << " ";
cout << endl;
for (auto t = a.begin(); t < a.end(); t++)
cout << *t << " ";
cout << endl;
return 0;
}
front/backfront()
函数返回vector的第一个元素,等价于*a.begin()
和a[0]
。back()
函数返回vector的最后一个元素,等价于*--a.end()
和a[a.size() – 1]
。
push_back()和pop_back()a.push_back(x)
把元素x
插入到vector a
的尾部。b.pop_back()
删除vector a
的最后一个元素。