C ++ unordered_set

Directorio

 

1. Definición

2. Funciones básicas

2.1. Construcción de conjunto desordenado

2.2 Agregar nuevos elementos (tenga en cuenta que no se pueden insertar los mismos elementos)

2.3. Encontrar elementos

2.4. Encontrar la interfaz del cubo

2.5 Observador

2.6 Elementos claros

2.7 Otras funciones


1. Definición

La esencia de unordered_set es usar hash hash para almacenar datos. Es un contenedor que usa el valor hash como clave, por lo que tiene un tiempo constante cuando hay búsquedas, inserciones y eliminaciones frecuentes. El principio de almacenamiento de unordered_set es declarar una estructura de datos con n cubos, calcular el nuevo valor hash agregado al unordered_set, luego calcular el valor x después del hash% n, y agregar el nuevo valor al cubo x. Cuando ya hay un elemento en el cubo x, se vincula directamente detrás. Cuando el número de elementos en la estructura de datos se encuentra con un cierto número, necesitamos expandir el número de cubos y reconstruir la estructura del cubo.

2. Funciones básicas

2.1. Construcción de conjunto desordenado

  • std :: unordered_set <std :: string> c: inicializa el contenedor
  • std :: unordered_set <std :: string> c {"aaa", "bbb", "ccc"}: inicialice el contenedor y agregue "aaa", "bbb", "ccc" al contenedor
  • std :: unordered_set <std :: string> c {16}: inicializa el contenedor y establece 16 cubos

2.2 Agregar nuevos elementos (tenga en cuenta que no se pueden insertar los mismos elementos)

  • c.insert ("dddd"): Agregue el elemento "dddd" al contenedor
  • a.insert ({"aaa", "bbbb", "cccc"}) : 向 容器 添加 元素 "aaa", "bbbb", "cccc"
  • a.insert (b.begin (), b.end ()): b es un vector que almacena elementos del mismo tipo que a, y todos los elementos en b se pueden agregar a

2.3. Encontrar elementos

  • a.find ("eeee"): encuentra el elemento "eeee", el resultado de retorno es a.end () significa que no se encuentra, de lo contrario se devuelve el elemento correspondiente
  • a.count ("eeee"): Encuentra varios elementos en "eeee" en un

2.4. Encontrar la interfaz del cubo

  • a.bucket_count (): devuelve el número de cubos en la estructura de datos
  • a.bucket_size (i): devuelve el tamaño en el cubo i
  • a.bucket ("eeee"): devuelve el cubo en el que se encuentra el elemento "eeee"

2.5 Observador

  • a.hash_function () ("aaa"): devuelve el valor hash correspondiente a "aaa"
  • a.key_eq () ("aaa", "aaaa"): devuelve verdadero cuando los elementos son iguales, de lo contrario devuelve falso

2.6 Elementos claros

  • a.clear (): borra todos los elementos en un
  • a.erase ("aaa"): borra el elemento "aaa"

2.7 Otras funciones

  • a.size (): devuelve el número total de elementos en un
  • a.max_size (): devuelve el elemento más grande en un
  • a.empty (): determina si a está vacío

(Continuará)

 

43 artículos originales publicados · Me gusta 23 · Visitas 30,000+

Supongo que te gusta

Origin blog.csdn.net/zhang14916/article/details/100859487
Recomendado
Clasificación