Inicializujte vektor v C++ (7 rôznych spôsobov)

Nasledujú rôzne spôsoby zostavenia alebo inicializácie a vektor v C++ STL

1. Inicializácia posúvaním hodnôt po jednej:

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> >niesť> > > vect.push_back(10);> > vect.push_back(20);> > vect.push_back(30);> > > for> (> int> x : vect)> > cout < < x < <> ' '> ;> > > return> 0;> }>

Výkon

10 20 30 

2. Určenie veľkosti a inicializácia všetkých hodnôt:

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;> }>

Výkon

10 10 10 

3. Inicializácia podobných polí:

C++




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

Výkon

10 20 30 

4. Inicializácia z poľa:

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;> }>

Výkon

10 20 30 

5. Inicializácia z iného vektora:

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;> }>

Výkon

10 20 30 

6. Inicializácia všetkých prvkov s konkrétnou hodnotou:

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;> }>

Výkon

5 5 5 5 5 5 5 5 5 5 

7 . Inicializujte pole s po sebe idúcimi číslami pomocou 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> >vec(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;> }>

Výkon

1 2 3 4 5 

Časová zložitosť: O(N), kde N je veľkosť vektora.

Pomocný priestor: O(N).