Vector

Vector ąøˆąø°ą¹€ąø«ąø”ąø·ąø­ąø™ąøąø±ąøš Dynamic Arrays ąø—ąøµą¹ˆąø”ąøµąø„ąø§ąø²ąø”ąøŖąø²ąø”ąø²ąø£ąø–ą¹ƒąø™ąøąø²ąø£ąø›ąø£ąø±ąøšąø‚ąø™ąø²ąø”ąø•ąø±ąø§ą¹€ąø­ąø‡ą¹‚ąø”ąø¢ąø­ąø±ąø•ą¹‚ąø™ąø”ąø±ąø•ąø“ą¹€ąø”ąø·ą¹ˆąø­ąø”ąøµąøąø²ąø£ą¹ąø—ąø£ąøąø«ąø£ąø·ąø­ąø„ąøšąø­ąø‡ąø„ą¹Œąø›ąø£ąø°ąøąø­ąøš ą¹‚ąø”ąø¢ąø„ąø­ąø™ą¹€ąø—ąø™ą¹€ąø™ąø­ąø£ą¹Œąøˆąø°ąøˆąø±ąø”ąøąø²ąø£ąøžąø·ą¹‰ąø™ąø—ąøµą¹ˆą¹€ąøą¹‡ąøšąø‚ą¹‰ąø­ąø”ąø¹ąø„ą¹‚ąø”ąø¢ąø­ąø±ąø•ą¹‚ąø™ąø”ąø±ąø•ąø“

การประกาศ Vector ąø™ąø±ą¹‰ąø™ąøŖąø²ąø”ąø²ąø£ąø–ąø—ąø³ą¹„ąø”ą¹‰ą¹‚ąø”ąø¢ąøąø²ąø£ą¹ƒąøŠą¹‰ąø„ąø³ąøŖąø±ą¹ˆąø‡ąø”ąø±ąø‡ąø™ąøµą¹‰

// vector<data_type> vector_name;
vector<int> Hallway(9);
vector<int> Hallway;
vector<int> Hallway {1,2,3,4,5};
vector<int> Hallway = {1,2,3,4,5};
vector<double> grade;
vector <char> Alpgrade;
vector<string> cars {"Jame","Jack","John"};

ąøŸąø±ąø‡ąøą¹ŒąøŠąø±ąø™ąø—ąøµą¹ˆą¹€ąøąøµą¹ˆąø¢ąø§ąø‚ą¹‰ąø­ąø‡ąøąø±ąøšą¹€ąø§ąøą¹€ąø•ąø­ąø£ą¹Œąø„ąø·ąø­:

ąøŸąø±ąø‡ąøą¹ŒąøŠąø±ąø™ąø—ąøµą¹ˆąø–ąø¹ąøą¹ƒąøŠą¹‰ąøšą¹ˆąø­ąø¢ąø—ąøµą¹ˆąøŖąøøąø”

  • push_back(): appends an element to the end

  • pop_back() Erases the last element

  • size() provides the number of elements

  • begin() provides reference to last element

  • end() provides reference to end of Vector.

  1. Iterators (ตัววนซ้ำ)

    • begin() – Returns an iterator pointing to the first element in the vector

    • end() – Returns an iterator pointing to the theoretical element that follows the last element in the vector

    • rbegin() – Returns a reverse iterator pointing to the last element in the vector (reverse beginning). It moves from last to first element

    • rend() – Returns a reverse iterator pointing to the theoretical element preceding the first element in the vector (considered as reverse end)

    • cbegin() – Returns a constant iterator pointing to the first element in the vector.

    • cend() – Returns a constant iterator pointing to the theoretical element that follows the last element in the vector.

    • crbegin() – Returns a constant reverse iterator pointing to the last element in the vector (reverse beginning). It moves from last to first element

    • crend() – Returns a constant reverse iterator pointing to the theoretical element preceding the first element in the vector (considered as reverse end)

Vector_iterators.cpp
// iterators in vector
#include <iostream>
#include <vector>
  
using namespace std;
  
int main()
{
    vector<int> g1;
  
    for (int i = 1; i <= 5; i++)
        g1.push_back(i);
  
    cout << "Output of begin and end: ";
    for (auto i = g1.begin(); i != g1.end(); ++i)
        cout << *i << " ";
  
    cout << "\nOutput of cbegin and cend: ";
    for (auto i = g1.cbegin(); i != g1.cend(); ++i)
        cout << *i << " ";
  
    cout << "\nOutput of rbegin and rend: ";
    for (auto ir = g1.rbegin(); ir != g1.rend(); ++ir)
        cout << *ir << " ";
  
    cout << "\nOutput of crbegin and crend : ";
    for (auto ir = g1.crbegin(); ir != g1.crend(); ++ir)
        cout << *ir << " ";
  
    return 0;
}

Output

Output of begin and end: 1 2 3 4 5 
Output of cbegin and cend: 1 2 3 4 5 
Output of rbegin and rend: 5 4 3 2 1 
Output of crbegin and crend : 5 4 3 2 1

2. Capacity (ąø„ąø§ąø²ąø”ąøˆąøø)

  • size() – Returns the number of elements in the vector.

  • max_size() – Returns the maximum number of elements that the vector can hold.

  • capacity() – Returns the size of the storage space currently allocated to the vector expressed as number of elements.

  • resize(n) – Resizes the container so that it contains ā€˜n’ elements.

  • empty() – Returns whether the container is empty.

  • shrink_to_fit() – Reduces the capacity of the container to fit its size and destroys all elements beyond the capacity.

  • reserve() – Requests that the vector capacity be at least enough to contain n elements.

Vector_capacity.cpp
// capacity function in vector
#include <iostream>
#include <vector>
  
using namespace std;
  
int main()
{
    vector<int> g1;
  
    for (int i = 1; i <= 5; i++)
        g1.push_back(i);
  
    cout << "Size : " << g1.size();
    cout << "\nCapacity : " << g1.capacity();
    cout << "\nMax_Size : " << g1.max_size();
  
    // resizes the vector size to 4
    g1.resize(4);
  
    // prints the vector size after resize()
    cout << "\nSize : " << g1.size();
  
    // checks if the vector is empty or not
    if (g1.empty() == false)
        cout << "\nVector is not empty";
    else
        cout << "\nVector is empty";
  
    // Shrinks the vector
    g1.shrink_to_fit();
    cout << "\nVector elements are: ";
    for (auto it = g1.begin(); it != g1.end(); it++)
        cout << *it << " ";
  
    return 0;
}

Output

Size : 5
Capacity : 8
Max_Size : 4611686018427387903
Size : 4
Vector is not empty
Vector elements are: 1 2 3 4

Reference

Last updated

Was this helpful?