Följande är olika sätt att konstruera eller initiera en vektor i C++ STL
1. Initiera genom att trycka på värden ett efter ett:
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>>bära> > >vect.push_back(10);> >vect.push_back(20);> >vect.push_back(30);> > >for> (>int> x : vect)> >cout << x <<>' '>;> > >return> 0;> }> |
>
>Produktion
10 20 30>
2. Ange storlek och initiera alla värden:
C++
char + int i java
// 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;> }> |
>
>Produktion
ramverk för java samlingar
10 10 10>
3. Initiera liknande arrayer:
C++
// C++ program to initialize> // a vector like an array.> #include> #include> using> namespace> std;> > int> main()> {> >vector<>int>>stapel { 10, 20, 30 };> > >for> (>int> x : vect)> >cout << x <<>' '>;> > >return> 0;> }> |
>
>Produktion
10 20 30>
4. Initiera från en array:
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;> }> |
>
>Produktion
10 20 30>
5. Initiering från en annan vektor:
C++
javafx
// 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;> }> |
>
>Produktion
10 20 30>
6. Initiera alla element med ett visst värde:
C++
// C++ Program to initialize vector using fill()> #include> #include> using> namespace> std;> > int> main()> {> >// creating array with size 10> >vector<>int>>vectl(10);> > >// initializing using fill() function> >int> value = 5;> >fill(vect1.begin(), vect1.end(), value);> > >// printing vector> >for> (>int> x : vect1)> >cout << x <<>' '>;> > >return> 0;> }> |
som uppfann skolan
>
>Produktion
5 5 5 5 5 5 5 5 5 5>
7 . Initiera en array med på varandra följande nummer med 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>>sak(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;> }> |
>
>Produktion
1 2 3 4 5>
Tidskomplexitet: O(N), där N är storleken på vektorn.
Extra utrymme: PÅ).