void remove()

in include/SparseSetAbstractDomain.h [96:107]


  void remove(const IntegerType& element) override {
    if (element < m_capacity) {
      size_t dense_idx = m_sparse[element];
      size_t n = m_element_num;
      if (dense_idx < n && m_dense[dense_idx] == element) {
        IntegerType last_element = m_dense[n - 1];
        m_element_num = n - 1;
        m_dense[dense_idx] = last_element;
        m_sparse[last_element] = dense_idx;
      }
    }
  }