Implementando Pares na STL com Vectors

C++Beginner
Pratique Agora

Introdução

Neste tutorial, aprenderemos como implementar o Pair Template em C++ usando um Vector na biblioteca STL. Especificamente, abordaremos como:

Declarar um Vector e Preenchê-lo com Pares de Inteiros

O primeiro passo na implementação do Pair Template em C++ é declarar um vector vazio de pares e inserir pares de inteiros nele.

#include <iostream>
#include <bits/stdc++.h>

using namespace std;

int main()
{
    //create an empty vector of pair
    vector<pair<int, int>> v;

    //insert elements into the vector
    v.push_back(make_pair(8, 64));
    v.push_back(make_pair(1, 1));
    v.push_back(make_pair(3, 6));
    v.push_back(make_pair(2, 4));
    v.push_back(make_pair(5, 25));

    return 0;
}

Imprimir o Vector de Pares

Em seguida, imprimiremos o vector de pares no console. Podemos acessar os elementos do par usando os atributos first e second.

cout << "Printing the Vector of Pairs: \n";

int n = v.size();

for (int i = 0; i < n; i++)
{
    cout << "\nSquare of " << v[i].first << " is " << v[i].second; //accessing the pair elements
}

Ordenar o Vector em Ordem Ascendente

Finalmente, ordenaremos o vector em ordem ascendente usando a função sort da biblioteca STL. Por padrão, ele ordena com base no primeiro elemento do par.

//Sorting the vector in ascending order - by default on the basis of first element of the pair
sort(v.begin(), v.end());

cout << "\n\n\n\nThe elements of the Vector after Sorting are:\n ";

//prining the Sorted vector
for (int i = 0; i < n; i++)
{
    cout << "\nSquare of " << v[i].first << " is " << v[i].second; // accessing the pair elements
}

Resumo

Neste tutorial, aprendemos como implementar Pares (Pairs) na STL com Vectors em C++. Cobrimos a declaração de um vector vazio de pares, preenchê-lo com pares de inteiros, imprimir o vector de pares e ordenar o vector em ordem ascendente. Ao acompanhar os exemplos de código acima, você pode começar a utilizar o Template de Par (Pair Template) para tornar seu código C++ mais eficiente e eficaz.