Dưới đây là ví dụ về MAP STL GNU Policy-Based thực hiện như cây để thống kê (thử nghiệm trên Linux gcc 4.6.1):
#include <iostream>
#include <ext/pb_ds/assoc_container.hpp>
#include <ext/pb_ds/tree_policy.hpp>
using namespace std;
using namespace __gnu_pbds;
typedef
tree<
int,
int,
less<int>,
rb_tree_tag,
tree_order_statistics_node_update>
map_t;
int main()
{
map_t s;
s.insert(make_pair(12, 1012));
s.insert(make_pair(505, 1505));
s.insert(make_pair(30, 1030));
cout << s.find_by_order(1)->second << '\n';
return 0;
}
Đây là a link to the overview of GNU Policy-Based Data Structures. Dưới đây là tree_order_statistics example khác. Tôi không thể tìm thấy một tài liệu tham khảo tốt cho các cấu trúc dữ liệu dựa trên chính sách, nhưng bạn có thể sử dụng các liên kết này cũng như các nguồn PBDS.
Nguồn
2012-06-27 17:10:19
Có cách nào để sử dụng các thư viện này bằng trình biên dịch Visual Studio không? (cl) –
Như bạn có thể thấy từ [tài liệu] (https://gcc.gnu.org/onlinedocs/libstdc++/ext/pb_ds/prerequisites.html), nó phải tương thích với cl. Nhưng tôi không bao giờ cố gắng sử dụng nó theo cách này. –
Làm cách nào để chuyển thư viện này vào môi trường Visual Studio? –