6, 10, 2, 8, 4 es un conjunto; 2, 4, 6, 8, 10 es un conjunto de los mismos números enteros, dispuestos en orden ascendente. En Matemáticas, un conjunto tiene elementos únicos (elementos distintos), es decir, ningún elemento ocurre más de una vez. Además, un multiset es un conjunto, donde cualquier elemento puede ocurrir más de una vez. 6, 6, 10, 2, 2, 8, 4, 4, 4 es un conjunto múltiple. 2, 2, 4, 4, 4, 6, 6, 8, 10 es el mismo multiset, pero con los elementos dispuestos en orden ascendente. Este artículo no trata sobre multiset. Se trata de la estructura de datos de C ++ llamada, set.
Un mapa en el software es como una matriz, pero es una matriz con dos columnas en lugar de una. La primera columna tiene las claves y la segunda columna tiene los valores. Cada fila es un par, lo que hace un par clave / valor. Una clave está directamente relacionada con su valor.
Un ejemplo de mapa es 'c', 30, 'b', 20, 'd', 30, 'e', 40, 'a', 10. El primer par clave / valor insertado aquí es 'c', 3, donde 'c' es la clave y 30 es el valor. Este mapa no está ordenado por claves. Ordenar este mapa por claves produce 'a', 10, 'b', 20, 'c', 30, 'd', 30, 'e', 40. Tenga en cuenta que puede haber valores duplicados, pero no claves duplicadas. Un mapa ordenado es un mapa ordenado por claves.
Un multiset es para un set, como un multimap es para un mapa. Esto significa que hay mapas con claves duplicadas. Un ejemplo de multimapa es 'a', 10, 'b', 20, 'b', 20, 'c', 30, 'c', 30, 'd ', 30, ' e ', 40. Y como se indicó anteriormente, este artículo no se ocupa de multimap, sino de la estructura de datos de C ++ denominada map.
En C ++, una estructura de datos es una estructura con propiedades (miembros de datos) y métodos (funciones miembro). Los datos de la estructura son una lista; un conjunto es una lista; un mapa es una lista de pares clave / valor.
Este artículo analiza los conceptos básicos de conjuntos y mapas en C ++, y para comprender mejor este artículo, el lector debería haber tenido un conocimiento básico de C++.
Contenido del artículo:
- Clase y sus objetos
- Creando un set o un mapa
- Conceptos básicos del iterador
- Acceso a elementos para set y mapa
- Orden de elementos en un conjunto o mapa
- Otras funciones de miembro de uso común
- Conclusión
Clase y sus objetos:
En C ++, el conjunto, el mapa y otras estructuras similares se denominan contenedores. Una clase es una unidad generalizada con miembros de datos, que son variables, y funciones miembro que están relacionadas. Cuando a los miembros de datos se les dan valores, se forma un objeto. Sin embargo, un objeto se forma en un proceso llamado instanciación. Como una clase puede dar lugar a valores diferentes para las mismas variables de miembro de datos, se pueden crear instancias de diferentes objetos de la misma clase.
En C ++, un conjunto inutilizable es una clase, así como un mapa inutilizable. Cuando se crea una instancia de un objeto del conjunto inutilizable o del mapa inutilizable, el objeto se convierte en la estructura de datos real. Con las estructuras de datos de conjunto y mapa, el miembro de datos principal es una lista. Bueno, el conjunto y el mapa forman un grupo de contenedores llamados contenedores asociativos ordenados. El conjunto desordenado y el mapa desordenado también existen, pero desafortunadamente no se tratan en este artículo.
Creando un set o un mapa:
Instanciar un conjunto de su clase de conjunto es crear un conjunto; instanciar un mapa de su clase de mapa es crear un mapa. El objeto así creado recibe un nombre a elección del programador.
Para crear un conjunto, el programa debe comenzar con:
#incluir
#incluir
usando el espacio de nombres std; Tenga en cuenta la directiva "#include ”, Que incluye la biblioteca de conjuntos que tiene la clase de conjunto de la que se instanciarán las estructuras de datos del conjunto.
Para crear un mapa, el programa debe comenzar con:
#incluir
#incluir