C++の基礎知識(四)--vector
vector , , 。 STL ( )vector 。 , vector 。 , vector, #include。
:
vector<int> a;// int a
vector<int> a(10);// 10
vector<int> a(10,1);// 10 1
vector<int> b(a);// a b
vector<int> b(a.begin(), a.begin()+3) ;// a 0 2 ( 3 ) b 。
:
int n[] = {1, 2, 3, 4, 5};
vector<int> a(n, n+5) ;// n 5 a
vector<int>a(&n[1],&n[4]);// n[1] - n[4] a
要素の入力とアクセスは、通常の配列のようにcin>>で入力できます.cout<
#include
#include
using namespace std ;
int main()
{
vector<int>a(10,0);// 10 0 a
cin >>a[2] ;
cin >>a[5] ;
cin >>a[6] ;
//
int i ;
for(i=0; icout<" " ;
return 0 ;
}
, ( ) 。 vector b(a.begin(),a.begin()+3); (a.begin()、a.begin()+3) +3 。(a.begin(),a.end()) 。
, , , : vector::iterator。 , 。
:
//
vector<int>::iterator t ;
for(t=a.begin(); t!=a.end(); t++)
cout<" " ;
*tはポインタの間接アクセス形式であり、tが指す要素値にアクセスすることを意味する.ベクトルの基本操作:
1>. a.size() //
2>. a.empty() //
3>. a.clear() //
4>. a = b ; // b a
5>. ==、!=、>、>=、//a b , 1
6>. - insert
①、a.insert(a.begin(),1000);// 1000 a
②、a.insert(a.begin(),3,1000);// 1000 0-2 ( 3 )
③、vector<int> a(5, 1);vector<int> b(10) ;
b.insert(b.begin(), a.begin(), a.end()) ;// a.begin(), a.end() b.begin()
7>. - erase
①、 b.erase(b.begin());//
②、 b.erase(b.begin(), b.begin()+3) ;// (b.begin(), b.begin()+3)
8>. - swap
b.swap(a) ; //a b
, , m*n :
vector>b(10,vector(5));// 10*5 int 。
。 。
#include
#include
using namespace std ;
int main()
{
vector<vector<int>>b(10,vector<int>(5,0));//
cin>>b[1][1];
cin>>b[2][2];
cin>>b[3][3];
//
int m,n;
for(m=0; m//b.size()
{
for(n=0; n//
cout<" " ;
cout<<"
" ;
}
return 0;
}