C++ でベクトルを初期化する (7 つの異なる方法)

を構築または初期化するさまざまな方法を次に示します。 C++ STL のベクトル

1. 値を 1 つずつプッシュして初期化します。

C++




// C++ program to create an empty> // vector and push values one> // by one.> #include> #include> using> namespace> std;> > int> main()> {> > // Create an empty vector> > vector <> int> >運ぶ>> > > vect.push_back(10);> > vect.push_back(20);> > vect.push_back(30);> > > for> (> int> x : vect)> > cout < < x < <> ' '> ;> > > return> 0;> }>

出力

10 20 30 

2. サイズを指定し、すべての値を初期化します。

C++




// C++ program to create an empty> // vector and push values one> // by one.> #include> #include> using> namespace> std;> > int> main()> {> > int> n = 3;> > > // Create a vector of size n with> > // all values as 10.> > vector <> int> >vect(n, 10);>> > > for> (> int> x : vect)> > cout < < x < <> ' '> ;> > > return> 0;> }>

出力

10 10 10 

3. 配列と同様に初期化します。

C++




// C++ program to initialize> // a vector like an array.> #include> #include> using> namespace> std;> > int> main()> {> > vector <> int> >バー { 10, 20, 30 };>> > > for> (> int> x : vect)> > cout < < x < <> ' '> ;> > > return> 0;> }>

出力

10 20 30 

4. 配列からの初期化:

C++




// C++ program to initialize> // a vector from an array.> #include> #include> using> namespace> std;> > int> main()> {> > int> arr[] = { 10, 20, 30 };> > int> n => sizeof> (arr) /> sizeof> (arr[0]);> > > vector <> int> >vect(arr, arr + n);>> > > for> (> int> x : vect)> > cout < < x < <> ' '> ;> > > return> 0;> }>

出力

10 20 30 

5. 別のベクトルからの初期化:

C++




// C++ program to initialize a vector from> // another vector.> #include> #include> using> namespace> std;> > int> main()> {> > vector <> int> >vect1{ 10, 20, 30 };>> > > vector <> int> >vect2(vect1.begin(), vect1.end());>> > > for> (> int> x : vect2)> > cout < < x < <> ' '> ;> > > return> 0;> }>

出力

10 20 30 

6. すべての要素を特定の値で初期化します。

C++




// C++ Program to initialize vector using fill()> #include> #include> using> namespace> std;> > int> main()> {> > // creating array with size 10> > vector <> int> >vect1(10);>> > > // initializing using fill() function> > int> value = 5;> > fill(vect1.begin(), vect1.end(), value);> > > // printing vector> > for> (> int> x : vect1)> > cout < < x < <> ' '> ;> > > return> 0;> }>

出力

5 5 5 5 5 5 5 5 5 5 

7 std::iota を使用して配列を連続番号で初期化する :

C++




// C++ program to initialize a> // vector with consecutive> // numbers> #include> #include> #include> using> namespace> std;> > int> main()> {> > // declaring a vector with size 5> > vector <> int> >もの(5);>> > > // initializing using iota()> > iota(vec.begin(), vec.end(), 1);> > > // printing the vector> > for> (> int> i = 0; i <5; i++) {> > cout < < vec[i] < <> ' '> ;> > }> > return> 0;> }>

出力

1 2 3 4 5 

時間計算量: O(N)。N はベクトルのサイズです。

補助スペース: の上)。