0、头文件:#include<vector>; using namespace std;
1、定义: vector<type> vec;
2、迭代器
vector<type>::iterator it;
vector<type>::const_iterator it;
vector<type>::reverse_iterator it;
vector<type>::const_reverse_iterator it;
3、vector功能
存取元素的方法:
vec[i] 和 vec.at(i) //存取第i个元素
vec.front() //存取第一个元素,注意 vce.front()=122;//表是给第一个元素赋值为122,等价于 vec[0]= 122;
vce.back() //存取最后一个元素
新增或移除元素的方法:
vec.push_back(); //在容器最后加一个元素
vec.insert(); //插入一個或多個元素至 vector 內的任意位置
#include <iostream>
#include <vector> void print_vec(const std::vector<int>& vec)
{
for (std::vector<int>::const_iterator it=vec.begin();it!=vec.end();it++) {
std::cout << ' ' << *it;
}
std::cout << '\n';
} int main ()
{
std::vector<int> vec(,);
print_vec(vec); std::vector<int>::iterator it = vec.begin();
it = vec.insert(it, );
print_vec(vec); vec.insert(it,,);
print_vec(vec); // "it" no longer valid, get a new one: //不再可用**********
it = vec.begin(); std::vector<int> vec2(,);
vec.insert(it+, vec2.begin(), vec2.end());
print_vec(vec); int arr[] = { ,, };
vec.insert(vec.begin(), arr, arr+);
print_vec(vec);
}
vec.pop_back() // 刪除 vector 最尾端的元素
vec.erase() //刪除 vector 中一個或多個元素。
vec.clear() //清空所有元素。
获取容器的长度和容量:
vec.size() // 取得 vector 目前持有的元素个数。
vec.empty() //如果 vector 內部为空,则返回 true 值。
vec.capacity() // 取得 vector 目前可容納的最大元素个数。
改变容器的大小:
vec.reserve() //改变ector 的容量大小,容量只能增加,不可以減少。
vec.resize() //改变vector 目前持有的元素个数。
迭代四个:vec.begin() vec.end() vec.rbegin() vec.rend()
容器stack
栈(FIOL,First-in Last-out)三个主要的功能---存、取、删。
stack<int> myStack ;
myStack.push(); //存
myStack.top(); //取
myStack.pop(); //删
容器map
#include <iostream>
#include<string>
#include<map>
using namespace std; int main ()
{
map<string,int> myMap;
map<string,int>::iterator myMapIt;
myMap["wo"] = ; //存入方法1
myMap.insert(make_pair("ni",)); //存入方法2
for (myMapIt = myMap.begin();myMapIt!=myMap.end();myMapIt++) //遍历元素
{
cout<<myMapIt->first<<endl;
cout<<myMapIt->second<<endl;
cout<<myMap["ni"];
}
myMap.count("wo"); //返回值为1,即表示存在键值为"wo",不存在返回为0.(注意只有1、0两个值)
myMap.erase("ni"); //删除
myMap.clear() ;
return ;
}