Todos los contenedores ordenados (std::set
, std::map
, std::multiset
, std::multimap
) son, bien, ordenados. Los contenedores no ordenados (std::list
, std::vector
, std::deque
) se pueden pedir proporcionando una función de comparación usando std::sort
(vector, deque) o proporcionando ese comparador a un método miembro (lista).
Todo se reduce a lo que realmente necesita. Si necesita mantener los elementos ordenados en todo momento, un contenedor clasificado podría ser más eficiente que modificar el contenedor y recurrir. Por otro lado, si no es necesario tener el contenedor ordenado en todo momento, sino que es posible modificar los elementos, es posible que prefiera un vector. Los contenedores ordenados mantienen las claves como objetos constantes, ya que la modificación de las claves rompería la invariante de ordenación.
En algunos casos, el contenedor debe ordenarse en todo momento, pero no cambia después de algunas fases de inicialización.En ese caso, un contenedor no clasificado que se clasifica después de la inicialización puede estar bien.
'try' es una palabra clave reservada en C++. ¿Estás seguro de que esta 'struct' se llama" try? " –
No, solo estaba tratando de citar un ejemplo. No estoy usando try. Se llama dbdetails en mi programa. – sethu
Oh, está bien. He editado la pregunta para incluir ese nombre, para que no cause un error de compilación. –