g++ कंपाइलर Linux में GNU के लिए C++ कंपाइलर है।
g++ संकलक कुछ विशेष डेटा संरचनाओं के लिए समर्थन भी जोड़ता है जो C++ प्रोग्रामिंग भाषा मानक पुस्तकालय में नहीं हैं। इन्हें नीति-आधारित डेटा संरचना के रूप में जाना जाता है।
नीति-आधारित डेटा संरचनाएं प्रोग्रामर को C++ एसटीडी लाइब्रेरी की मानक डेटा संरचनाओं की तुलना में एक उच्च-प्रदर्शन, सिमेंटिक सुरक्षा और लचीलापन प्रदान करती हैं।
इन डेटा संरचनाओं को अपने कार्यक्रम में शामिल करने के लिए, निम्नलिखित पंक्तियों को जोड़ा जाना चाहिए,
#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
ये डेटा संरचनाएं इतनी बहुमुखी हैं कि आप कई कार्यों के लिए जा सकते हैं जैसे तत्व की अनुक्रमणिका की जांच करना, अनुक्रमणिका में तत्व ढूंढना आदि।