C++
std :: forward_list
खोज…
परिचय
std::forward_list
एक कंटेनर है जो कंटेनर में कहीं से भी तेज़ सम्मिलन और तत्वों को हटाने का समर्थन करता है। फास्ट रैंडम एक्सेस समर्थित नहीं है। इसे एक एकल-लिंक्ड सूची के रूप में लागू किया गया है और अनिवार्य रूप से सी में इसके कार्यान्वयन की तुलना में कोई ओवरहेड नहीं है। std::list
तुलना में std::list
इस कंटेनर को अधिक स्थान कुशल भंडारण प्रदान करता है जब द्विदिशीय पुनरावृत्ति की आवश्यकता नहीं होती है।
टिप्पणियों
सूची में या कई सूचियों में तत्वों को जोड़ना, हटाना और स्थानांतरित करना, वर्तमान में सूची में मौजूद अन्य तत्वों का जिक्र करते हुए पुनरावृत्तियों को अमान्य नहीं करता है। हालाँकि, किसी तत्त्व या संदर्भ का संदर्भ किसी तत्व के लिए अमान्य होता है जब सूची से संबंधित तत्व हटा दिया जाता है (erase_after के माध्यम से)। std :: Forward_list कंटेनर की आवश्यकताओं को पूरा करती है (आकार सदस्य फ़ंक्शन को छोड़कर और उस ऑपरेटर == की जटिलता हमेशा रैखिक होती है), AllocatorAwareContainer और SequenceContainer।
उदाहरण
#include <forward_list>
#include <string>
#include <iostream>
template<typename T>
std::ostream& operator<<(std::ostream& s, const std::forward_list<T>& v) {
s.put('[');
char comma[3] = {'\0', ' ', '\0'};
for (const auto& e : v) {
s << comma << e;
comma[0] = ',';
}
return s << ']';
}
int main()
{
// c++11 initializer list syntax:
std::forward_list<std::string> words1 {"the", "frogurt", "is", "also", "cursed"};
std::cout << "words1: " << words1 << '\n';
// words2 == words1
std::forward_list<std::string> words2(words1.begin(), words1.end());
std::cout << "words2: " << words2 << '\n';
// words3 == words1
std::forward_list<std::string> words3(words1);
std::cout << "words3: " << words3 << '\n';
// words4 is {"Mo", "Mo", "Mo", "Mo", "Mo"}
std::forward_list<std::string> words4(5, "Mo");
std::cout << "words4: " << words4 << '\n';
}
आउटपुट:
words1: [the, frogurt, is, also, cursed]
words2: [the, frogurt, is, also, cursed]
words3: [the, frogurt, is, also, cursed]
words4: [Mo, Mo, Mo, Mo, Mo]
तरीके
विधि का नाम | परिभाषा |
---|---|
operator= | कंटेनर को मान प्रदान करता है |
assign | कंटेनर को मान प्रदान करता है |
get_allocator | संबंधित आवंटनकर्ता को लौटाता है |
------ | ------ |
तत्व की पहुँच | |
front | पहले तत्व तक पहुँचें |
------ | ------ |
iterators | |
before_begi एन | शुरू करने से पहले तत्व को एक पुनरावृत्ति देता है |
cbefore_begin | शुरुआत से पहले तत्व को एक निरंतर पुनरावृत्ति देता है |
begin | शुरुआत के लिए एक पुनरावृत्ति देता है |
cbegin | शुरुआत में एक बाधा पुनरावृत्ति देता है |
end | अंत में एक पुनरावृति देता है |
cend | अंत में एक पुनरावृति देता है |
क्षमता | |
empty | जाँच करता है कि कंटेनर खाली है या नहीं |
max_size | तत्वों की अधिकतम संभव संख्या देता है |
संशोधक | |
clear | सामग्री को साफ करता है |
insert_after | एक तत्व के बाद तत्वों को सम्मिलित करता है |
emplace_after | एक तत्व के बाद में तत्वों का निर्माण करता है |
erase_after | एक तत्व के बाद एक तत्व को मिटा देता है |
push_front | प्रारंभ में एक तत्व सम्मिलित करता है |
emplace_front | शुरुआत में एक तत्व का निर्माण करता है |
pop_front | पहला तत्व निकालता है |
resize | संग्रहीत तत्वों की संख्या को बदलता है |
swap | सामग्री स्वैप करता है |
संचालन | |
merge | दो क्रमबद्ध सूचियों को मर्ज करता है |
splice_after | तत्वों को दूसरे फ़ॉरवर्ड_लिस्ट से ले जाता है |
remove | विशिष्ट मानदंडों को पूरा करने वाले तत्वों को निकालता है |
remove_if | विशिष्ट मानदंडों को पूरा करने वाले तत्वों को निकालता है |
reverse | तत्वों के क्रम को उलट देता है |
unique | लगातार डुप्लिकेट तत्वों को निकालता है |
sort | तत्वों को छाँटें |