Funzione a "scalare"

Per caso esiste una funzione che fa scalare gli elementi in un vettore?
Mi spiego meglio:
1 2 3 4 5
prendo lā€™1, lo metto dietro al 3 e scalo gli elementi verso sinistra;
2 3 1 4 5
Esiste una funzione che fa qualcosa di simile?

#include <algorithm>
#include <iostream>
#include <vector>

int main() {
    std::vector<int> v = {1, 2, 3, 4, 5};
    std::rotate(v.begin(), v.begin() + 1, v.begin() + 3);
    for (int x : v) std::cout << x << " ";
    std::cout << std::endl;
}

https://en.cppreference.com/w/cpp/algorithm/rotate

1 Mi Piace

Non riesco ad usarla ma grazie lo stesso

(e comunque non basta per prendere 100 su vasi :stuck_out_tongue:)

3 Mi Piace