Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> C++

โครงสร้างข้อมูลตามนโยบายใน g++


คอมไพเลอร์ g++ เป็นคอมไพเลอร์ C++ สำหรับ GNU ใน Linux

คอมไพเลอร์ g++ ยังเพิ่มการรองรับสำหรับโครงสร้างข้อมูลพิเศษบางอย่างที่ไม่ได้อยู่ในไลบรารีมาตรฐานของภาษาโปรแกรม C++ สิ่งเหล่านี้เรียกว่าโครงสร้างข้อมูลตามนโยบาย

โครงสร้างข้อมูลตามนโยบายช่วยให้โปรแกรมเมอร์มีความปลอดภัยเชิงความหมายและความยืดหยุ่นสูง เมื่อเทียบกับโครงสร้างข้อมูลมาตรฐานของไลบรารี C++ std

หากต้องการรวมโครงสร้างข้อมูลเหล่านี้ในโปรแกรมของคุณ ควรเพิ่มบรรทัดต่อไปนี้

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

ตัวอย่าง

มาดูโปรแกรมเพื่อดูว่าโครงสร้างข้อมูลตามนโยบายทำงานอย่างไร

#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;
}

ผลลัพธ์

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

โครงสร้างข้อมูลเหล่านี้ใช้งานได้หลากหลายจนคุณสามารถใช้งานได้หลายอย่าง เช่น การตรวจสอบดัชนีขององค์ประกอบ การค้นหาองค์ประกอบที่ดัชนี เป็นต้น