Computer >> Máy Tính >  >> Lập trình >> C ++

Cấu trúc dữ liệu dựa trên chính sách trong g ++


trình biên dịch g ++ là một trình biên dịch C ++ cho GNU trong Linux.

Trình biên dịch g ++ cũng hỗ trợ thêm một số cấu trúc dữ liệu đặc biệt không có trong thư viện chuẩn của ngôn ngữ lập trình C ++. Chúng được gọi là cấu trúc dữ liệu dựa trên chính sách.

Cấu trúc dữ liệu dựa trên chính sách cung cấp cho lập trình viên hiệu suất cao, an toàn về ngữ nghĩa và tính linh hoạt so với cấu trúc dữ liệu tiêu chuẩn của thư viện C ++ std.

Để đưa các cấu trúc dữ liệu này vào chương trình của bạn, cần thêm các dòng sau,

#include <ext/pb_ds/assoc_container.hpp>
using namespace __gnu_pbds;

Ví dụ

Hãy xem một chương trình để biết cách hoạt động của các cấu trúc dữ liệu dựa trên chính sách này.

#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 data;
   data.insert(34);
   data.insert(785);
   data.insert(12);
   data.insert(87);
   cout<<"The value at index 2 is "<<*data.find_by_order(2)<<endl;
   cout<<"The index of number 87 is "<<data.order_of_key(87)<<endl;
   return 0;
}

Đầu ra

The value at index 2 is 785
The index of number 87 is 4

Các cấu trúc dữ liệu này rất linh hoạt nên bạn có thể thực hiện nhiều chức năng như kiểm tra chỉ mục của phần tử, tìm phần tử tại chỉ mục, v.v.