Trouver max/min de vecteur de vecteurs

Ce qui est le plus efficace et le standard C++11/14) pour trouver la valeur max/min élément de vecteur de vecteurs?

std::vector<std::vector<double>> some_values{{5,0,8},{3,1,9}};

le voulait max élément est 9

le voulait min élément est 0

  • std::minmax_element pour l'intérieur des vecteurs.
  • Pourquoi ne pas utiliser 2 boucles imbriquées? Les autres moyens sont peut-être moins lisible.
  • Tu veux dire passer throgh chaque intérieur vecteur et appel minmax_elemnt et ensuite trouver le minmax_elemnt du résultat ?
  • c'est une solution. Mais je me demandais si il y a une mst fonction ou un motif pour cela.
  • Il suffit d'aller plus chaque vecteur et de créer deux variables min et max et de les comparer
  • oui, c'est la dernière option pour moi. Je cherchais quelque chose de plus clair
  • Pour la boucle externe, il semble plus compliqué à utiliser directement l'algorithme standard.
  • Je vois... BTW, n'est pas possible de bénéficier de la continuité de la propriété de stocker vecteur pour convertir de le traiter comme une seule dimension ?
  • un vecteur de vecteurs n'est pas stockés de manière contiguë, de chaque intérieur vecteur est stockée dans son propre bloc contigu de mémoire allouée dynamiquement, donc vous ne pouvez pas vraiment les traiter comme des "unidimensionnel". Vous pouvez changer la façon dont vous stockez votre tableau 2D tel qu'il est stocké de manière contiguë, alors vous pourriez être en mesure de simplifier la mise en œuvre un peu.
  • vous devez préciser votre question - soit un texte ou d'un exemple - pour le rendre clair, vous êtes à la recherche pour le min et le max double valeur, et non pas le min et le max vector<double>, étant donné element est ambigu (l'extérieur du vecteur des éléments à l'intérieur des vecteurs).
  • il a été fait