青岛网站推广公司排名pc端网站模型建设工具
2026/2/25 15:26:07 网站建设 项目流程
青岛网站推广公司排名,pc端网站模型建设工具,网站建设明细费用,免费咨询男科问题好的#xff0c;我们来学习C STL中最常用的几种容器。STL#xff08;Standard Template Library#xff09;提供了多种高效的容器类型#xff0c;用于存储和管理数据。1. vector#xff1a;动态数组概念#xff1a;可变大小的数组#xff0c;支持随机访问#xff08;通…好的我们来学习C STL中最常用的几种容器。STLStandard Template Library提供了多种高效的容器类型用于存储和管理数据。1.vector动态数组概念可变大小的数组支持随机访问通过下标 $i$。适用场景需要频繁访问元素尾部插入/删除较多时。基本操作#include vector std::vectorint vec; // 创建空vector vec.push_back(10); // 尾部插入元素 int x vec[0]; // 访问元素需确保下标有效 vec.pop_back(); // 删除尾部元素 size_t len vec.size(); // 获取元素数量2.list双向链表概念元素通过指针双向链接插入/删除效率高但不支持随机访问。适用场景频繁在任意位置插入/删除。基本操作#include list std::listint lst; lst.push_back(20); // 尾部插入 lst.push_front(5); // 头部插入 lst.pop_front(); // 删除头部元素 auto it lst.begin(); // 获取迭代器指向首元素 it; // 移动迭代器3.map有序键值对概念基于红黑树实现按键排序默认升序键唯一。适用场景需通过键快速查找/更新值。基本操作#include map std::mapstd::string, int scores; scores[Alice] 90; // 插入或更新键值对 auto it scores.find(Bob); // 查找键返回迭代器 if (it ! scores.end()) { int score it-second; // 获取值 } scores.erase(Alice); // 删除键值对4.set有序唯一值集合概念存储唯一值并自动排序。适用场景去重或有序集合操作。基本操作#include set std::setint uniqueNums; uniqueNums.insert(42); // 插入元素 if (uniqueNums.count(42)) { // 检查元素是否存在 uniqueNums.erase(42); // 删除元素 }5.queue队列FIFO概念先进先出只允许在队尾插入、队首删除。适用场景任务调度、广度优先搜索。基本操作#include queue std::queueint q; q.push(10); // 入队 int front q.front(); // 访问队首 q.pop(); // 出队迭代器遍历通用所有容器均支持迭代器遍历std::vectorint vec {1, 2, 3}; for (auto it vec.begin(); it ! vec.end(); it) { std::cout *it ; // 输出1 2 3 }总结容器特点时间复杂度平均vector动态数组随机访问尾部插入 $O(1)$list双向链表任意插入 $O(1)$map键值对有序查找 $O(\log n)$set唯一值集合有序插入 $O(\log n)$queue先进先出入队/出队 $O(1)$选择合适的容器能大幅提升代码效率和可读性

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询