这里是vector的一些简单使用:下面直接上代码:
#include <iostream>
#include <vector>
int main(int argc, char* argv[])
{
using namespace std;
std::cout<<endl;
std::cout<<"vector 增删查找一些简单使用:"<<endl;
std::cout<<endl;
std::vector<int> vect;
for (int i = 0; i <= 10; i++)
{
vect.push_back(i);
}
for (int i = 0; i < vect.size(); i++)
{
std::cout<<vect[i]<<",";
}
std::cout<<endl;
for (vector<int>::iterator v = vect.begin();v != vect.end(); v++)
{
std::cout<<*v<<",";
}
std::cout<<endl;
//vect插入数据
vect.insert(vect.begin() + 2,3,20);//往vector中第二个位置添加3个数值为20
for (vector<int>::iterator v = vect.begin();v != vect.end(); v++)
{
std::cout<<*v<<",";
}
std::cout<<endl;
//往vector的第1个位置插入vector中位置为2到5的数据
vect.insert(vect.begin()+1,vect.begin()+2,vect.begin() + 6);
for (vector<int>::iterator v = vect.begin();v != vect.end(); v++)
{
std::cout<<*v<<",";
}
std::cout<<endl;
//注释的这部分采用了move方法,会导致vect为空,来自:http://msdn.microsoft.com/zh-cn/library/s5bta5ha(v=vs.120).aspx
/*vector< vector <int> > vv1;
vv1.insert(vv1.begin(),move(vect));
std::cout<<"vv1 size :"<<vv1.size()<<endl;
std::cout<<"vv1[0] size :"<<vv1[0].size()<<endl;
if ( vv1.size( ) != 0 && vv1[0].size( ) != 0 )
{
vector < vector <int> >::iterator Iter;
cout << "vv1[0] =";
for (vector<int>::iterator Iter = vv1[0].begin( ); Iter != vv1[0].end( ); Iter++ )
cout << " " << *Iter;
cout << endl;
}
std::cout<<endl;*/
//vect删除数据
vect.erase(vect.begin()+1);
for (vector<int>::iterator v = vect.begin();v != vect.end(); v++)
{
std::cout<<*v<<",";
}
std::cout<<endl;
vect.erase(vect.begin()+6,vect.end() -2);//删除这一范围的数
for (vector<int>::iterator v = vect.begin();v != vect.end(); v++)
{
std::cout<<*v<<",";
}
std::cout<<endl;
//查找,find是stl里通用的函数,返回所查找数据的迭代器。如果存在多个这样的数据,只返回第一个
vector<int>::iterator has = find(vect.begin(),vect.end(),20);
if (has == vect.end())
{
std::cout<<"can't find number like this";
}
else
{
std::cout<<"find first at "<<has - vect.begin()<<" location ";
}
std::cout<<endl;
system("pause");
return 0;
}
输出(凑合看吧):
上面就是vector中一些简单使用,关于性能可以参考: http://blog.csdn.net/mfcing/article/details/8746256