从C++ Cookbook掌握STL容器用法

   2024-09-30 4620
核心提示:C++ Cookbook 是一本关于 C++ 编程的实用教程,其中包含了许多关于 STL(Standard Template Library)容器的用法示例向量(Vecto

C++ Cookbook 是一本关于 C++ 编程的实用教程,其中包含了许多关于 STL(Standard Template Library)容器的用法示例

向量(Vector):
#include<iostream>#include<vector>int main() {    std::vector<int> vec;    vec.push_back(1);    vec.push_back(2);    vec.push_back(3);    for (int i = 0; i < vec.size(); ++i) {        std::cout<< vec[i] << " ";    }    return 0;}
列表(List):
#include<iostream>#include <list>int main() {    std::list<int> lst;    lst.push_back(1);    lst.push_back(2);    lst.push_back(3);    for (std::list<int>::iterator it = lst.begin(); it != lst.end(); ++it) {        std::cout << *it << " ";    }    return 0;}
双端队列(Deque):
#include<iostream>#include <deque>int main() {    std::deque<int> deq;    deq.push_back(1);    deq.push_front(0);    deq.push_back(2);    for (int i = 0; i < deq.size(); ++i) {        std::cout << deq[i] << " ";    }    return 0;}
集合(Set):
#include<iostream>#include <set>int main() {    std::set<int> s;    s.insert(3);    s.insert(1);    s.insert(2);    for (std::set<int>::iterator it = s.begin(); it != s.end(); ++it) {        std::cout << *it << " ";    }    return 0;}
多重集合(Multiset):
#include<iostream>#include <set>int main() {    std::multiset<int> ms;    ms.insert(3);    ms.insert(1);    ms.insert(2);    ms.insert(3);    for (std::multiset<int>::iterator it = ms.begin(); it != ms.end(); ++it) {        std::cout << *it << " ";    }    return 0;}
映射(Map):
#include<iostream>#include <map>int main() {    std::map<char, int> m;    m['a'] = 1;    m['b'] = 2;    m['c'] = 3;    for (std::map<char, int>::iterator it = m.begin(); it != m.end(); ++it) {        std::cout << it->first << ": " << it->second << " ";    }    return 0;}
多重映射(Multimap):
#include<iostream>#include <map>int main() {    std::multimap<char, int> mm;    mm.insert(std::make_pair('a', 1));    mm.insert(std::make_pair('b', 2));    mm.insert(std::make_pair('c', 3));    mm.insert(std::make_pair('a', 4));    for (std::multimap<char, int>::iterator it = mm.begin(); it != mm.end(); ++it) {        std::cout << it->first << ": " << it->second << " ";    }    return 0;}
无序集合(Unordered Set):
#include<iostream>#include <unordered_set>int main() {    std::unordered_set<int> us;    us.insert(3);    us.insert(1);    us.insert(2);    for (std::unordered_set<int>::iterator it = us.begin(); it != us.end(); ++it) {        std::cout << *it << " ";    }    return 0;}
无序多重集合(Unordered Multiset):
#include<iostream>#include <unordered_set>int main() {    std::unordered_multiset<int> ums;    ums.insert(3);    ums.insert(1);    ums.insert(2);    ums.insert(3);    for (std::unordered_multiset<int>::iterator it = ums.begin(); it != ums.end(); ++it) {        std::cout << *it << " ";    }    return 0;}
无序映射(Unordered Map):
#include<iostream>#include <unordered_map>int main() {    std::unordered_map<char, int> um;    um['a'] = 1;    um['b'] = 2;    um['c'] = 3;    for (std::unordered_map<char, int>::iterator it = um.begin(); it != um.end(); ++it) {        std::cout << it->first << ": " << it->second << " ";    }    return 0;}
无序多重映射(Unordered Multimap):
#include<iostream>#include <unordered_map>int main() {    std::unordered_multimap<char, int> umm;    umm.insert(std::make_pair('a', 1));    umm.insert(std::make_pair('b', 2));    umm.insert(std::make_pair('c', 3));    umm.insert(std::make_pair('a', 4));    for (std::unordered_multimap<char, int>::iterator it = umm.begin(); it != umm.end(); ++it) {        std::cout << it->first << ": " << it->second << " ";    }    return 0;}

这些示例展示了如何使用 C++ STL 容器。你可以根据需要选择合适的容器类型,并学习如何使用它们的成员函数来操作数据。在实际项目中,你可能需要根据特定需求和性能要求选择合适的容器。

 
举报打赏
 
更多>同类网点查询
推荐图文
推荐网点查询
点击排行

网站首页  |  关于我们  |  联系方式网站留言    |  赣ICP备2021007278号