STL指的是C++的标准模板库,是一个C++软件库,大量影响了C++标准程序库,但是不是C++标准程序库的一部恩。STL包括了4个组件:算法,容器,函数,迭代。
第一个常用容器是vector。向量是一个封装了动态大小数组的顺序容器。跟任意其它类型容易一样,可以放置任何类型的对象。因此,可以简单的认为向量是一个能够存放任意类型的动态数组。Vector支持随机访问,但是不支持任意位置的O(1)插入,通常在末尾进行插入。
#include <iostream>
#include <vector>
using namespace std;
int main(){
vector<int> a({1,2,3});
//用角标遍历
for (int i=0; i<a.size();i++){
cout << a[i] << endl;
}
//用迭代器遍历
for (vector<int>::iterator i = a.begin();i!=a.end();i++){
cout << *i << endl;
}
//front()函数可以直接范围vector的第一个元素的值,*begin也可是实现这一点
cout << a.front() << ' ' << a[0] << ' ' << *a.begin() << endl;
//back()函数可以直接范围vector的最后一个元素的值
cout << a.back() << ' ' << a[a.size()-1] << endl;
return 0;
}
vector中常用的删减函数为:
#include <iostream>
#include <vector>
using namespace std;
int main(){
vector<int> a({1,2,3});
//push_back()函数可以在vector的末尾添加上元素
a.push_back(4);
for (auto x: a) cout << x << " ";
cout << endl;
//pop_back