1.容器的创建,删除
#include "stdafx.h"
#include <iostream>
#include <vector>
using namespace std;
int _tmain(int argc, _TCHAR* argv[])
{
vector<int> v1;
vector<int>::iterator Iter; //iterator为迭代器,值为*Iter
v1.push_back(10); //向容器中中添加数据
v1.push_back(20);
v1.push_back(30);
v1.push_back(40);
v1.push_back(50);
v1.push_back(60);
//v1.back()=3; //将容器中的最后一个元素赋值为3
cout<<v1.back(); //输出容器的最后一个元素值
//输出容器里的所以元素
cout << "v1 =" ;
for ( Iter = v1.begin( ) ; Iter != v1.end( ) ; Iter++ ) // v1.begin( )为第一个元素,v1.back()为最后一个元素,v1.end( )为容器的结束标志
cout << " " << *Iter;
cout << endl;
// 输出:10 20 30 40 50 60
// 下标:0 1 2 3 4 5
v1.erase( v1.begin( ) ); //删除v1容器中的第一个元素,则vi容器的第一个元素变为20
cout << "v1 =";
for ( Iter = v1.begin( ) ; Iter != v1.end( ) ; Iter++ )
cout << " " << *Iter;
cout << endl;
//输出:20 30 40 50 60
//下标:0 1 2 3 4
v1.erase( v1.begin( ) + 1, v1.begin( ) + 4 ); //删除v1容器中下标为1到3的元素,v1.begin()下标为0
// 30 60
cout << "v1 =";
for ( Iter = v1.begin( ) ; Iter != v1.end( ) ; Iter++ )
cout << " " << *Iter;
cout << endl;
//输出:20 60
system("PAUSE"); //vs运行必加,意为在点击后显示运行结果
return 0;
}
3 两vector 容易赋值时,不能通过=来赋值
而应使用遍历 或assign函数的方式来赋值
vector<int> v1,v2; //将v1容器里的值赋值到v2中
//方法一:
v2.assign(v1.begin(),v1.end());
//方法二
for(int i=0;i<v1.size();i++)
{
int temp=v1.at(i);
v2.push_back(temp);
}
4 在vector中查找
#include<vector>
#include<algorithm> //在VECTOR中查找
using namespace std;
vector<int> L;
L.push_back( 1 );
L.push_back( 2 );
L.push_back( 3 );
L.push_back( 4 );
L.push_back( 5 );
vector<int>::iterator result = find( L.begin( ), L.end( ), 3 ); //查找3
if ( result == L.end( ) ) //没找到
cout << "No" << endl;
else //找到
cout << "Yes" << endl;