único - una función que comprime todas las secuencias de elementos consecutivos idénticos en uno en tiempo lineal.
Como argumento, se pasan los límites de la matriz, dentro de los cuales es necesario aplicar compresión.
Se devuelve un iterador al nuevo extremo (no inclusivo) de la matriz. Debe tener cuidado con los elementos posteriores al nuevo final pero anteriores al antiguo, ya que tendrán un valor indefinido.
Puede leer más en documentación.
Si está utilizando esta función en un vector, es conveniente cambiar el tamaño utilizando el resultado devuelto (más información a continuación).
Ejemplos:
vector a = { 3, 3, 3, 2, 3, 3, 1, 1, 4, 5, 5 };
único(a.begin(), a.end());
// a = [3, 2, 3, 1, 4, 5, ?, ?, ?, ?, ?]
// es conveniente usar la función única
// matriz auxiliar para compresión de coordenadas
a = { 235, 10, 41, 10, 41, 41, 235, 500, 500 };
sort(a.begin(), a.end());
// un = [10, 10, 41, 41, 41, 235, 235, 500, 500]
a.resize(unique(a.begin(), a.end()) - a.begin());
// un = [10, 41, 235, 500]