给有后台的网站做网页中国工程建设企业协会网站

张小明 2026/1/12 9:44:05
给有后台的网站做网页,中国工程建设企业协会网站,网站搭建就来徐州百度网络非常好,麦当劳的网站优化建议C++ STL容器详解:从入门到精通 一、STL容器概述 STL(Standard Template Library,标准模板库)是C++标准库的核心组件,提供了一套高效、可复用的数据结构和算法。STL容器作为其重要组成部分,用于存储和管理数据集合,遵循泛型编程思想,通过模板实现类型无关性。 STL核心…C++ STL容器详解:从入门到精通一、STL容器概述STL(Standard Template Library,标准模板库)是C++标准库的核心组件,提供了一套高效、可复用的数据结构和算法。STL容器作为其重要组成部分,用于存储和管理数据集合,遵循泛型编程思想,通过模板实现类型无关性。STL核心组件容器(Containers):存放数据的结构,如vector、list、map等算法(Algorithms):如sort、find、accumulate等(头文件algorithm)迭代器(Iterators):连接算法与容器的"指针风格"对象函数对象/谓词:比较器、定制规则(常用lambda表达式)适配器:容器/迭代器/函数的包装器二、STL容器分类体系STL容器按照数据组织方式分为三大类:1. 序列容器(Sequence Containers)元素按插入顺序存储,保持线性顺序:vector:动态数组,连续内存存储deque:双端队列,支持头尾高效操作list:双向链表,任意位置插入删除高效forward_list:单向链表(C++11)array:固定长度数组(C++11)2. 关联容器(Associative Containers)元素按键值自动排序,基于红黑树实现:set:唯一元素的有序集合multiset:允许重复元素的有序集合map:键值对映射,键唯一multimap:允许重复键的映射3. 无序关联容器(Unordered Associative Containers)基于哈希表实现,元素无序,查找效率高(C++11):unordered_set:哈希集合unordered_multiset:允许重复的哈希集合unordered_map:哈希映射unordered_multimap:允许重复键的哈希映射4. 容器适配器(Container Adapters)基于其他容器提供特定功能接口:stack:栈(后进先出)queue:队列(先进先出)priority_queue:优先队列三、序列容器详解1. vector(动态数组)核心特性底层实现:连续内存的动态数组随机访问:O(1)时间复杂度尾部操作:push_back/pop_back均摊O(1)中间操作:插入/删除O(n)内存管理:自动扩容(通常按1.5或2倍增长)常用操作#include vector #include iostream int main() { // 多种初始化方式 std::vectorint v1; // 空vector std::vectorint v2(5); // 5个0 std::vectorint v3(5, 10); // 5个10 std::vectorint v4 = {1, 2, 3, 4, 5}; // 初始化列表 // 容量管理 v1.reserve(100); // 预留100个元素空间 std::cout "size: " v4.size() std::endl; // 当前元素数量 std::cout "capacity: " v4.capacity() std::endl; // 当前容量 // 访问元素 std::cout "front: " v4.front() std::endl; // 第一个元素 std::cout "back: " v4.back() std::endl; // 最后一个元素 std::cout "at(2): " v4.at(2) std::endl; // 安全访问 // 修改操作 v4.push_back(6); // 尾部添加 v4.insert(v4.begin() + 2, 100); // 中间插入 v4.erase(v4.begin() + 1); // 删除 v4.pop_back(); // 删除尾部 // 高级操作 std::sort(v4.begin(), v4.end()); // 排序 v4.resize(10, 0); // 调整大小 return 0; }性能优化技巧// 预分配避免频繁扩容 void vector_reserve_demo() { // ❌ 错误做法:不预分配 std::vectorint bad_vec; for (int i = 0; i 10000; ++i) { bad_vec.push_back(i); // 可能触发多次内存重新分配 } // ✅ 正确做法:预分配容量 std::vectorint good_vec; good_vec.reserve(10000); // 一次性分配足够内存 for (int i = 0; i 10000; ++i) { good_vec.push_back(i); // 不会触发重新分配 } } // 高效删除元素 void vector_erase_demo() { std::vectorint vec = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10}; // ❌ 低效:从前往后删除 for (auto it = vec.begin(); it != vec.end();) { if (*it % 2 == 0) { it = vec.erase(it); // O(n)操作,总体O(n²) } else { ++it; } } // ✅ 高效:使用remove_if + erase vec.erase( std::remove_if(vec.begin(), vec.end(), [](int x) { return x % 2 == 0; }), vec.end() ); // O(n)操作 } // 使用emplace避免不必要的拷贝 void modern_vector_usage() { std::vectorstd::pairint, std::string vec; //
版权声明:本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!

如何制作新型网站程序找个做游戏的视频网站

拒绝无意义刷屏,打造高效率热点追踪,极空间部署『TrendRadar』 哈喽小伙伴们好,我是Stark-C~ 现在的你是不是一直都有这样的困惑?每天拿着手机,总想找点自己感兴趣的话题,或者想了解的信息,但…

张小明 2026/1/9 17:40:58 网站建设

网站建设与管理自考本3090服务器租用

Bruce作为专为M5Stack Cardputer、StickC等ESP32设备设计的强大固件,集成了丰富的功能模块。本指南将带您从基础配置到高级优化,全面掌握Bruce的使用技巧。如果您在Bruce故障排除或设备兼容性测试中遇到困难,这里将为您提供完整的解决方案。 …

张小明 2026/1/9 17:40:57 网站建设

我为群众办实事项目清单网站优化如何提高排名

在数字化转型加速推进的当下,数据库管理作为企业 IT 架构的核心环节,其效率与安全性直接影响业务迭代速度与数据资产价值。深圳市源创星域网络科技有限公司重磅推出的国产可视化数据库管理软件 ——DBLens for MySQL,凭借 AI 原生技术与人性化…

张小明 2026/1/9 17:40:55 网站建设

福州网站优化山东电力建设网站

目录 字符流的实现 flush和close方法 IO流体系​编辑 缓冲流 序列化流/反序列化流的细节汇总 打印流 Hutool工具包 多线程 多线程三种实现方式对比 常见的成员方法 线程的使用 生产者和消费者 常见方法 等待唤醒机制 阻塞队列方式实现 线程的状态 线程池 主要核心原理 代码实现…

张小明 2026/1/9 17:40:53 网站建设

网站建设技术培训新沂网站开发

2026 年的 CES(Consumer Electronics Show)即将于 1 月初在拉斯维加斯盛大展开,而今年的展会焦点毫无疑问将再次聚焦 AI 技术如何融入车载系统与未来车内体验。根据 CES 官方议题与多家媒体报道,AI 将成为 CES 2026 的核心主题&am…

张小明 2026/1/9 17:40:51 网站建设

专门做茶叶会的音乐网站wordpress 两个下划线

每次需要证件照的时候,你是不是都觉得头疼?专门跑一趟照相馆费时费力,拍出来的效果还常常“货不对版”。其实,一张合格又精神的证件照,只要掌握几个关键技巧,我们自己在家也能轻松搞定。今天就来聊聊&#…

张小明 2026/1/9 19:34:07 网站建设