Tengo un std::set<int>
que tiene n
elementos en él. Y quiero deshacerme de los elementos más grandes n-k
y mantener los primeros (menos) k
elementos. ¿Cómo debería hacerlo? ¿Hay una función predefinida para esto?Dividir un conjunto (C++)
5
A
Respuesta
9
A std::set
se ordena.
std::set<int>::const_iterator i = myset.begin();
std::advance(i, k);
myset.erase(i, myset.end());
0
Usar la función de borrado:
Cuestiones relacionadas
- 1. Dividir una prueba en un conjunto de pruebas más pequeñas
- 2. Dividir un archivo grande en C++
- 3. Cómo dividir un BitArray
- 4. Recuperar MVID de un conjunto de C#?
- 5. C#: ¿por qué firmar un conjunto?
- 6. Dividir un ikiwiki
- 7. Dividir usando un soporte
- 8. Dividir en un carácter único
- 9. C#: ¿Puedes dividir un espacio de nombres en varios archivos?
- 10. ¿Cómo dividir un programa en C en varios archivos?
- 11. ¿Cómo puedo dividir un archivo PDF en páginas (preferiblemente C#)
- 12. ¿Cómo dividir un número en dígitos individuales en C#?
- 13. dividir cadena con más de un Char en C#
- 14. Dividir un array en 2 arrays de C#
- 15. C# Dividir una cadena por otra cadena
- 16. C# Cómo dividir decimales sin redondeo implícito
- 17. Dividir texto en oraciones en C#
- 18. C# cadena de dividir y combinar
- 19. Dividir int y redondear en Objective-C
- 20. ¿Cómo implementar un conjunto?
- 21. obtener; conjunto; sintaxis en C#
- 22. Dividir un vector de cadena en R
- 23. dividir una cadena en mayúsculas
- 24. Dividir un 'Decimal' en VB.NET
- 25. Dividir un número en R
- 26. Dividir una cadena Pascal-case en el conjunto lógico de palabras
- 27. Teoría de gráficos: dividir un gráfico
- 28. ¿Alguien sabe de un conjunto de enlaces C# para FFMPEG?
- 29. ¿Cómo obtener los elementos en un conjunto en C++?
- 30. Cómo tener un conjunto de estructuras en C++
'std :: avance (i, k);', ¿verdad? –
Claro, me pregunto en qué estaba pensando. – Benoit
No debería ser 'std :: set :: iterator' en lugar de' std :: set :: const_iterator'? –