Inicializujte vektor v C++ (7 různých způsobů)

Následují různé způsoby, jak sestavit nebo inicializovat a vektor v C++ STL

1. Inicializace posunutím hodnot jednu po druhé:

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

Výstup

10 20 30 

2. Zadání velikosti a inicializace všech hodnot:

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ýstup

10 10 10 

3. Inicializace podobných polí:

C++




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

Výstup

10 20 30 

4. Inicializace z pole:

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ýstup

10 20 30 

5. Inicializace z jiného vektoru:

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ýstup

10 20 30 

6. Inicializace všech prvků s konkrétní 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ýstup

5 5 5 5 5 5 5 5 5 5 

7 . Inicializujte pole s po sobě jdoucími čísly pomocí 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> >věc(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ýstup

1 2 3 4 5 

Časová složitost: O(N), kde N je velikost vektoru.

Pomocný prostor: NA).