Introducción
En este laboratorio, aprenderemos cómo usar el método lower_bound()
en el Vector STL en C++. La implementación práctica de este método se mostrará en el laboratorio.
💡 Este tutorial está traducido por IA desde la versión en inglés. Para ver la versión original, puedes hacer clic aquí
En este laboratorio, aprenderemos cómo usar el método lower_bound()
en el Vector STL en C++. La implementación práctica de este método se mostrará en el laboratorio.
¿Qué son los Vectores?
Los vectores son arrays dinámicos con la capacidad adicional de redimensionarse y ajustar automáticamente su tamaño cuando insertamos o eliminamos elementos. Los vectores ofrecen más flexibilidad en comparación con los arrays estáticos normales.
En este paso, crearemos un vector vacío e insertaremos algunos elementos en él. Tenga en cuenta que como los vectores son dinámicos, no necesitamos especificar el tamaño del vector antes de insertar elementos.
#include <iostream>
#include <bits/stdc++.h>
using namespace std;
int main()
{
// create an empty vector
vector<int> v;
// insert elements into the vector
v.push_back(10);
v.push_back(12);
v.push_back(35);
v.push_back(65);
v.push_back(21);
v.push_back(90);
}
En este paso, ordenaremos los elementos del vector en orden ascendente utilizando la función sort()
de la biblioteca <algorithm>
.
// sorting the vector in ascending order
sort(v.begin(), v.end());
lower_bound()
en el Vector STLAhora, usaremos el método lower_bound()
para encontrar un iterador que apunte al primer elemento que tiene un valor no menor que el valor dado.
// define the iterator low
vector<int>::iterator low;
// use lower_bound to find the first element that's not less than 35
low = lower_bound(v.begin(), v.end(), 35);
En este paso, imprimiremos el índice del límite inferior de 35 y algunas notas sobre el resultado.
// print the index of the lower bound of 35
cout << "\nEl índice (empezando desde 0) del lower_bound de 35 es: " << (low - v.begin()) << '\n';
// print some notes
cout << "\nTenga en cuenta que según la definición, también considera el número en sí mismo.\n\n";
Aquí está el código completo para el archivo main.cpp
:
#include <iostream>
#include <bits/stdc++.h>
using namespace std;
int main()
{
// create an empty vector
vector<int> v;
// insert elements into the vector
v.push_back(10);
v.push_back(12);
v.push_back(35);
v.push_back(65);
v.push_back(21);
v.push_back(90);
// print the elements of the vector
cout << "Los elementos del Vector son: ";
for (int i : v)
{
cout << i << " ";
}
// sorting the vector in ascending order
sort(v.begin(), v.end());
// print the sorted vector
cout << "\n\nLos elementos del Vector después de la clasificación son: ";
for (int i : v)
{
cout << i << " ";
}
// define the iterator low
vector<int>::iterator low;
// use lower_bound to find the first element that's not less than 35
low = lower_bound(v.begin(), v.end(), 35);
// print the index of the lower bound of 35
cout << "\n\nEl índice (empezando desde 0) del lower_bound de 35 es: " << (low - v.begin()) << '\n';
// print some notes
cout << "\nTenga en cuenta que según la definición, también considera el número en sí mismo.\n\n";
return 0;
}
Para ejecutar el programa, abra una ventana de terminal y navegue hasta el directorio que contiene el archivo main.cpp
. Utilice los siguientes comandos para compilar y ejecutar el programa:
g++ main.cpp -o main && ./main
Esto debería compilar y ejecutar el programa, y debería ver la siguiente salida:
Los elementos del Vector son: 10 12 35 65 21 90
Los elementos del Vector después de la clasificación son: 10 12 21 35 65 90
El índice (empezando desde 0) del lower_bound de 35 es: 3
Tenga en cuenta que según la definición, también considera el número en sí mismo.
¡Felicidades! En este laboratorio, aprendiste sobre el método lower_bound() en el Vector STL en C++, y viste su implementación utilizando vectores. Con estas habilidades, puedes crear, ordenar y buscar elementos en vectores con precisión. ¡Excelente trabajo!