Tu ne précises pas si la liste doit être ordonnée ou s'ils doivent être consécutifs après ordonnancement.
Ils sont consécutifs si et seulement si ils sont triés (ou après les avoir triés) et l'écart entre les extrêmes est le nombre d'éléments.
Mais si tu les présuppose uniques, ta solution est plutôt bonne et marche aussi pour des entiers signés en forçant une comparaison non signée : (*min_max.second - *min_max.first) + 1u != count_).
# trier ou ne pas trier
Posté par dalfab . En réponse au message Fonction standard : vérifier si des entiers sont consécutif.. Évalué à 1.
Tu ne précises pas si la liste doit être ordonnée ou s'ils doivent être consécutifs après ordonnancement.
Ils sont consécutifs si et seulement si ils sont triés (ou après les avoir triés) et l'écart entre les extrêmes est le nombre d'éléments.
Dans le second cas, le plus simple me semble être de les trier
Mais si tu les présuppose uniques, ta solution est plutôt bonne et marche aussi pour des entiers signés en forçant une comparaison non signée :
(*min_max.second - *min_max.first) + 1u != count_).