Introducción a c++stl

  • vector, matriz de longitud variable, la idea de duplicar

    size() devuelve el número de elementos
    vacío() devuelve si está vacío
    clear() borra
    front()/back()
    push_back()/pop_back()
    begin()/end()

  rotar (a.begin(),a.begin()+k,a.end()) rotar función de matriz

    Admite operaciones de comparación, en orden lexicográfico

  • par<int,int>

    primero, el primer elemento,
    segundo, el segundo elemento
    admite operaciones de comparación, con primero como primera palabra clave y segundo como segunda palabra clave (orden lexicográfico)

  • cuerda, cuerda

    size()/length() devuelve la longitud de la cadena
    vacío()
    clear()
    substr(subíndice inicial, (longitud de la subcadena)) devuelve la subcadena
    c_str() devuelve la dirección inicial de la matriz de caracteres donde se encuentra la cadena

  • cola, cola

    size()
    vacío()
    push() inserta un elemento al final de la cola
    front() devuelve el elemento al principio de la cola
    back() devuelve el elemento al final de la cola
    pop() muestra el elemento en el jefe de la cola

  • Priority_queue, cola de prioridad, el valor predeterminado es un montón raíz grande

    size()
    vacío()
    push() inserta un elemento
    top() devuelve el elemento superior del montón
    pop() saca el elemento superior
    del montón definido como un montón raíz pequeño: prioridad_queue<int, vector<int>, mayor< int>>q;

  • apilar, apilar

    size()
    vacío()
    push() inserta un elemento en la parte superior de la pila
    top() devuelve el elemento superior de la pila
    pop() muestra el elemento superior de la pila

  • deque, cola de dos extremos

    tamaño()
    vacío()
    borrar()
    frente()/atrás()
    push_back()/pop_back()
    push_front()/pop_front()
    comenzar()/final()

  • set, map, multiset, multimap, basado en un árbol binario equilibrado (árbol rojo-negro), mantiene dinámicamente una secuencia ordenada

    size()
    vacío()
    clear()
    comenzar()/end()
    ++, -- devuelve el predecesor y el sucesor, complejidad temporal O(logn)

    set/multiset
        insert() Insertar un número
        find() Encontrar un número
        count() Devolver el número de un determinado número
        erase()
            (1) La entrada es un número x, eliminar todo x O(k + logn)
            (2) Entrada Un iterador, elimine este iterador
        lower_bound()/upper_bound()
            lower_bound(x) Iterador que devuelve el número más pequeño mayor o igual a x
            Upper_bound(x) Iterador que devuelve el número más pequeño mayor que x
    map/multimap
        insert() El El número insertado es un par
        erase() y el parámetro de entrada es un par o iterador
        find()
        [] Tenga en cuenta que multimap no admite esta operación. La complejidad del tiempo es O(logn)
        lower_bound()/upper_bound()

unordered_set, unordered_map, unordered_multiset, unordered_multimap, la tabla hash
    es similar a la anterior, la complejidad temporal de agregar, eliminar, modificar y verificar es O (1),
    lower_bound()/upper_bound() no es compatible, ++ del iterador, --

  • bitset, bit de presión

    conjunto de bits<10000> s;
    ~, &, |, ^
    >>, <<
    ==, !=

    count() devuelve cuántos unos hay

    any() determina si hay al menos un 1
    none() determina si todos son 0

    set() establece todos los bits en 1
    set(k, v) establece el k-ésimo bit en v
    reset() establece todos los bits en 0
    flip() es equivalente a ~
    flip(k) invierte el k-ésimo bit

Supongo que te gusta

Origin blog.csdn.net/m0_74153798/article/details/132160044
Recomendado
Clasificación