0% found this document useful (0 votes)
15 views7 pages

Wa0030.

C++ vectors are dynamic arrays that can grow in size and are part of the Standard Template Library. They can be declared and initialized in various ways, and support operations such as adding, accessing, changing, and deleting elements. Additionally, vector iterators can be used to traverse the elements of a vector, similar to pointers.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
15 views7 pages

Wa0030.

C++ vectors are dynamic arrays that can grow in size and are part of the Standard Template Library. They can be declared and initialized in various ways, and support operations such as adding, accessing, changing, and deleting elements. Additionally, vector iterators can be used to traverse the elements of a vector, similar to pointers.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 7

C++ Vectors

In C++, vectors are used to store elements of similar data types. However, unlike arrays, the size of a vector
can grow dynamically.
That is, we can change the size of the vector during the execution of a program as per our requirements.
Vectors are part of the C++ Standard Template Library. To use vectors, we need to include
the vector header file in our program.
#include <vector>

C++ Vector Declaration


Once we include the header file, here's how we can declare a vector in C++:
std::vector<T> vector_name;
The type parameter <T> specifies the type of the vector. It can be any primitive data type such
as int, char, float, etc. For example,
vector<int> num;
Here, num is the name of the vector.
Notice that we have not specified the size of the vector during the declaration. This is because the size of a
vector can grow dynamically so it is not necessary to define it.

C++ Vector Initialization


There are different ways to initialize a vector in C++.
Method 1:
// Initializer list
vector<int> vector1 = {1, 2, 3, 4, 5};
// Uniform initialization
vector<int> vector2 {1, 2, 3, 4, 5};
Here, we are initializing the vector by providing values directly to the vector. Now,
both vector1 and vector2 are initialized with values 1, 2, 3, 4, 5.
Method 2:
vector<int> vector3(5, 12);
Here, 5 is the size of the vector and 12 is the value.
This code creates an int vector with size 5 and initializes the vector with the value of 12. So, the vector is
equivalent to
vector<int> vector3 = {12, 12, 12, 12, 12};

Example: C++ Vector Initialization


#include <iostream>
#include <vector>
using namespace std;

int main() {

// initializer list
vector<int> vector1 = {1, 2, 3, 4, 5};

// uniform initialization
vector<int> vector2{6, 7, 8, 9, 10};

// method 3
vector<int> vector3(5, 12);
cout << "vector1 = ";

// ranged loop
for (const int& i : vector1) {
cout << i << " ";
}

cout << "\nvector2 = ";

// ranged loop
for (const int& i : vector2) {
cout << i << " ";
}

cout << "\nvector3 = ";

// ranged loop
for (int i : vector3) {
cout << i << " ";
}

return 0;
}

Output
vector1 = 1 2 3 4 5
vector2 = 6 7 8 9 10
vector3 = 12 12 12 12 12
Here, we have declared and initialized three different vectors using three different initialization methods and
displayed their contents.

Basic Vector Operations


The vector class provides various methods to perform different operations on vectors. We will look at some
commonly used vector operations in this tutorial:
● Add elements
● Access elements
● Change elements
● Remove elements

1. Add Elements to a Vector


To add a single element into a vector, we use the push_back() function. It inserts an element into the end of the
vector. For example,
#include <iostream>
#include <vector>
using namespace std;

int main() {
vector<int> num {1, 2, 3, 4, 5};

cout << "Initial Vector: ";


for (const int& i : num) {
cout << i << " ";
}

// add the integers 6 and 7 to the vector


num.push_back(6);
num.push_back(7);

cout << "\nUpdated Vector: ";

for (const int& i : num) {


cout << i << " ";
}

return 0;
}
Output
Initial Vector: 1 2 3 4 5
Updated Vector: 1 2 3 4 5 6 7
Here, we have initialized an int vector num with the elements {1, 2, 3, 4, 5}. Notice the statements
num.push_back(6);
num.push_back(7);
Here, the push_back() function adds elements 6 and 7 to the vector.
Note: We can also use the insert() and emplace() functions to add elements to a vector.

2. Access Elements of a Vector


In C++, we use the index number to access the vector elements. Here, we use the at() function to access the
element from the specified index. For example,
#include <iostream>
#include <vector>
using namespace std;

int main() {
vector<int> num {1, 2, 3, 4, 5};

cout << "Element at Index 0: " << num.at(0) << endl;


cout << "Element at Index 2: " << num.at(2) << endl;
cout << "Element at Index 4: " << num.at(4);

return 0;
}

Output

Element at Index 0: 1
Element at Index 2: 3
Element at Index 4: 5
Note: Like an array, we can also use the square brackets [] to access vector elements. For example,
vector<int> num {1, 2, 3};
cout << num[1]; // Output: 2

3. Change Vector Element


We can change an element of the vector using the same at() function. For example,
#include <iostream>
#include <vector>
using namespace std;

int main() {
vector<int> num {1, 2, 3, 4, 5};

cout << "Initial Vector: ";

for (const int& i : num) {


cout << i << " ";
}

// change elements at indexes 1 and 4


num.at(1) = 9;
num.at(4) = 7;

cout << "\nUpdated Vector: ";

for (const int& i : num) {


cout << i << " ";
}

return 0;
}

Output
Initial Vector: 1 2 3 4 5
Updated Vector: 1 9 3 4 7
In the above example, notice the statements,
num.at(1) = 9;
num.at(4) = 7;
Here, we have assigned new values to indexes 1 and 4. So the value at index 1 is changed to 9 and the value
at index 4 is changed to 7.

4. Delete Elements from C++ Vectors


To delete a single element from a vector, we use the pop_back() function. For example,
#include <iostream>
#include <vector>

using namespace std;

int main() {
vector<int> prime_numbers{2, 3, 5, 7};

// initial vector
cout << "Initial Vector: ";
for (int i : prime_numbers) {
cout << i << " ";
}

// remove the last element


prime_numbers.pop_back();

// final vector
cout << "\nUpdated Vector: ";
for (int i : prime_numbers) {
cout << i << " ";
}

return 0;
}

Output
Initial Vector: 2 3 5 7
Updated Vector: 2 3 5
In the above example, notice the statement,
prime_numbers.pop_back();
Here, we have removed the last element (7) from the vector.

C++ Vector Functions


In C++, the vector header file provides various functions that can be used to perform different operations on a
vector.
Function Description

size() returns the number of elements present in the vector

clear() removes all the elements of the vector

front() returns the first element of the vector

back() returns the last element of the vector

empty() returns 1 (true) if the vector is empty

capacity() check the overall size of a vector

C++ Vector Iterators


Vector iterators are used to point to the memory address of a vector element. In some ways, they act
like pointers in C++.
We can create vector iterators with the syntax
vector<T>::iterator iteratorName;
For example, if we have 2 vectors of int and double types, then we will need 2 different iterators
corresponding to their types:
// iterator for int vector
vector<int>::iterator iter1;

// iterator for double vector


vector<double>::iterator iter2;

Initialize Vector Iterators


We can initialize vector iterators using the begin() and end() functions.
1. begin() function
The begin() function returns an iterator that points to the first element of the vector. For example,
vector<int> num = {1, 2, 3};
vector<int>::iterator iter;

// iter points to num[0]


iter = num.begin();
2. end() function
The end() function points to the theoretical element that comes after the final element of the vector. For
example,
// iter points to the last element of num
iter = num.end() - 1;
Here, due to the nature of the end() function, we have used the code num.end() - 1 to point to the last element
of the num vector i.e. num[2].

Example: C++ Vector Iterators


#include <iostream>
#include <vector>
using namespace std;

int main() {
vector<int> num {1, 2, 3, 4, 5};

// declare iterator
vector<int>::iterator iter;

// initialize the iterator with the first element


iter = num.begin();

// print the vector element


cout << "num[0] = " << *iter << endl;

// iterator points to the 3rd element


iter = num.begin() + 2;
cout << "num[2] = " << *iter;

// iterator points to the last element


iter = num.end() - 1;
cout << "num[4] = " << *iter;
return 0;
}

Output
num[0] = 1
num[2] = 3
num[4] = 5

Example: Iterate Through Vector Using Iterators


#include <iostream>
#include <vector>
using namespace std;

int main() {
vector<int> num {1, 2, 3, 4, 5};

// declare iterator
vector<int>::iterator iter;

// use iterator with for loop


for (iter = num.begin(); iter != num.end(); ++iter) {
cout << *iter << " ";
}

return 0;
}
Output
1 2 3 4 5

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy