Vector de clasificación de arrays en C++

Dado un vector de arreglos, la tarea es ordenarlos.

Ejemplos:

Entrada: [[1, 2, 3], [10, 20, 30], [30, 60, 90], [10, 20, 10]]
Salida: [[1, 2, 3], [10, 20 , 10], [10, 20, 30], [30, 60, 90]]

Entrada: [[7, 2, 9], [5, 20, 11], [6, 16, 19]]
Salida: [[5, 20, 11], [6, 16, 19], [7, 2 , 9]]

Acercarse:

Para ordenar el vector de arreglos usando el sort() integrado en C++ STL , se necesita una plantilla de arreglo definida en una biblioteca boost para almacenar el vector de arreglos.

std:: vector<std:: array >

donde, std::array es un contenedor que encapsula arrays de tamaño fijo.

En este problema, la función sort() toma dos argumentos primero (posición inicial del vector) y segundo (posición final del vector) para ordenar un vector de arrays (elementos con acceso aleatorio). A continuación se muestra un programa simple para mostrar el funcionamiento de sort().

CPP

// C++ program to sort the vector
// of array by sort() function
// using STL in c++
  
#include <algorithm>
#include <array>
#include <iostream>
#include <vector>
using namespace std;
  
#define N 3
  
// Function to print vector of arrays
void print(vector<array<int, N> > vect)
{
  
    // Displaying the vector of arrays
    // ranged for loop is supported
    for (array<int, N> i : vect) {
        for (auto x : i)
            cout << x << " ";
        cout << endl;
    }
}
  
// Driver code
int main()
{
    // std::array is a container that
    // encapsulates fixed size arrays.
    vector<array<int, N> > vect;
    vect.push_back({ 1, 2, 3 });
    vect.push_back({ 10, 20, 30 });
    vect.push_back({ 30, 60, 90 });
    vect.push_back({ 10, 20, 10 });
  
    cout << "Vector of arrays"
         << " before sorting: \n";
    print(vect);
  
    // Sorting the vector using built-in sort()
    // defined in algorithm header in C++ STL
    sort(vect.begin(), vect.end());
  
    cout << "Vector of arrays"
         << " after sorting: \n";
    print(vect);
  
    // End of program
    return 0;
}
Producción:

Vector of arrays before sorting: 
1 2 3 
10 20 30 
30 60 90 
10 20 10 

Vector of arrays after sorting: 
1 2 3 
10 20 10 
10 20 30 
30 60 90

Publicación traducida automáticamente

Artículo escrito por mehul25 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *