#include <iostream>
#include <algorithm>
#include <numeric>
#include <vector>
using namespace std;
bool Comp( int &a, int &b)
{
return a < b;
}
int main()
{
//vector 容器的初始化
vector<int> v1;
vector<double> v2(10);
vector<double> v3( 12, 8.6);
//fill用以填充数据
fill( v2.begin(), v2.end(), 100);
//插入数据
v1.push_back( 1);
v1.push_back( 2);
v1.push_back( 3);
//中间插入数据
v1.insert( v1.begin(), 8);
v1.insert( v1.begin() + 2, 9);
v1.insert( v1.end(), 10);
vector<int> v4(v1);
//访问数据,可以用下标的方式访问,一般采用迭代器
for ( size_t i = 0; i < v1.size(); i++)
{
cout << v1[i] << "\t";
}
cout << endl;
for ( vector<int>::iterator it = v1.begin(); it != v1.end(); it++)
{
cout << *it << "\t";
}
//元素的删除
//erase()方法可以删除vector中迭代器所制定的一个元素,或一段元素
//clear()方法则一次性删除vector中的所有元素
v1.erase( v1.begin() + 2);
v1.erase( v1.begin() + 1, v1.begin() + 3);
v1.clear();
v1.push_back(100);
//插入迭代器的用法 back_inserter(v1)
copy(v4.begin(), v4.end(), back_inserter(v1));
//获取容器的大小
cout << " v1.size() = " << v1.size() << endl;
//置逆 , reverse函数,于头文件algorithm
reverse( v1.begin(), v1.end());
//排序 , sort函数, 于头文件algorithm, 可用自定义的比较函数
sort( v1.begin(), v1.end());
sort( v1.begin(), v1.end(), Comp);
//统计数字的和 accumulate , 于头文件numeric
int sum = accumulate( v1.begin(), v1.end(), 0);
//使用find函数
vector<int>::iterator it_find;
it_find = find( v1.begin(), v1.end(), 5);
if ( it_find == v1.end() )
{
cout << "No Find" << endl;
}
return 0;
}