policy based data structure in c++ code example
Example 1: pbds in c++
#include <ext/pb_ds/assoc_container.hpp>
#include <ext/pb_ds/tree_policy.hpp>
#include <functional>
#include <iostream>
using namespace __gnu_pbds;
using namespace std;
typedef tree<int, null_type, less<int>, rb_tree_tag,
tree_order_statistics_node_update>
new_data_set;
int main()
{
new_data_set p;
p.insert(5);
p.insert(2);
p.insert(6);
p.insert(4);
cout << "The value at 3rd index ::"
<< *p.find_by_order(3) << endl;
cout << "The index of number 6::"
<< p.order_of_key(6) << endl;
cout << "The index of number seven ::"
<< p.order_of_key(7) << endl;
return 0;
}
Example 2: pbds in c++
#include <ext/pb_ds/assoc_container.hpp>
#include <ext/pb_ds/tree_policy.hpp>
using namespace __gnu_pbds;
typedef tree<int, null_type, less<int>, rb_tree_tag,
tree_order_statistics_node_update>
ordered_set;
ordered_set ord_set;
int a;
ord_set.insert(a);
*ord_set.find_by_order(a);
ord_set.order_of_key(a);