Ordered Set data structure in GNU C++

Ordered Set là một cấu trúc dữ liệu policy-based của thư viện GNU C++. Giống như std::set, implementation của nó vẫn dựa trên Red Black Tree, mọi phần tử trong nó có tính thứ tự và nó cũng làm được tất cả những gì mà std::set làm được trong độ phức tạp thời gian O(logN). Tuy nhiên, trong một số trường hợp chúng ta muốn biết thứ tự của một phần tử hoặc là tìm phần tử khi biết trước thứ tự của nó trong tập hợp, Ordered Set cung cấp thêm hai phương thức trong thời gian O(logN)
- find_by_order(k): tìm phần tử lớn thứ k trong tập hợp (tính từ 0).
- order_of_key(k): số phần tử nhỏ hơn k.