STL–第一章 vector动态数组
头文件
#include <vector>
初始化
#include<iostream>
#include<vector>
using namespace std;
int main () {
vector<int> a;
vector<int> a(3);
vector<int> a(10, 3);
vector<int>a(b.begin(),b.begin+3);
int b[7]={
1,2,3,4,5,6,7};
vector<int> a(b,b+7);
for(auto x : a) {
cout << x << " ";
}
return 0;
}
size()
a.size();
resize()
a.resize();
empty()
a.empty();
front()和back()
a.front();
a.back();
clear()
a.clear();
支持比较运算(比较操作:==,≠,<,≤,>,≥)
int main () {
vector<int> a(4, 3), b(3, 4);
if (a < b) {
puts("a < b");
}
return 0;
}
程序运行后输出:a<b
push_back()和pop_back()
a.pop_back();
a.push_back(5);
begin()和end()
a.begin();
a.end();
遍历vector的三种方法
int main () {
vector<int> a;
for (int i = 0; i < 10; i ++) {
a.push_back(i);
}
for (int i = 0; i < a.size(); i ++) {
cout << a[i] << ' ';
}
cout << endl;
for (auto i = a.begin(); i != a.end(); i ++) {
cout << *i << ' ';
}
cout << endl;
for (auto x : a) {
cout << x << ' ';
}
cout << endl;
return 0;
}
结合算法erase(),reverse()
a.erase(p);
a.erase(b,e);
vector<int> a={
1,2,3,4,5};
reverse(a.begin(),a.end());