#999. STL之vector
STL之vector
No submission language available for this problem.
vector
俗称变长数组,专业称为向量。
优先:可以随着元素变多而变长
缺点:比普通数组运行慢
头文件:vector
创建容器:vector<类型> 容器名称
常用成员函数
vecotr<int> a; // 仅创建一个空的数组
vector<int> ve(n, 0); // 创建 ve,包含 n 个元素,每个元素是 0
ve.size() 表示长度,即元素个数
ve.push_back(val) 表示从后添加一个数值 val
ve.pop_back() 表示删除最后一个数据元素
ve.clear() 表示清空容器元素
ve.empty() 查看容器是否为空
Example
vector<int > a;
for (int i = 1; i <= 10; i++) {
int t;
cin >> t;
a.push_back(t);
}
cout << "vector 容器 a 当前元素总数: " << a.size() << endl;
cout << "下标访问: ";
for (int i = 0; i < a.size(); i++) {
cout << a[i] << ' ';
}
cout << endl;
// 作为了解
cout << "迭代器访问: ";
vector<int >::iterator it;
for (it = a.begin(); it != a.end(); it++) {
// 迭代器 it 的使用类似指针,用 * 获得迭代器位置所代表的数据块
cout << *it << ' ';
}
cout << endl;
cout << "auto 访问" << endl;
for (auto i : a) {
cout << i << " ";
}
cout << endl;
简单练习
利用 vector 输入 n 个整数,将之倒序输出
输入格式
第一行一个整数 n (特别的,这里不告诉 n 的范围)
第二行 n 个整数
输出格式
倒序输出输入的 n 个整数
5
1 2 3 4 5
5 4 3 2 1