当前位置: 首页 > wzjs >正文

没有网站做分类信息群发长沙谷歌seo收费

没有网站做分类信息群发,长沙谷歌seo收费,南宁网站设计多少钱,如何把jQuery特效做网站背景手写常见操作:vector 扩容、string 分割、链表翻转 (一)vector扩容 在 C++ 中,vector 的扩容机制是动态数组实现的核心特性,直接关系到性能和内存使用效率。以下是深入剖析: 1. 扩容触发条件 vector<int> v; v.push_back(1); // 当 size() == capacity() 时触发…

手写常见操作:vector 扩容、string 分割、链表翻转

(一)vector扩容

在 C++ 中,vector 的扩容机制是动态数组实现的核心特性,直接关系到性能和内存使用效率。以下是深入剖析:


1. 扩容触发条件

vector<int> v;
v.push_back(1);  // 当 size() == capacity() 时触发扩容
  • 当插入新元素时,若当前元素数量 size() 等于容量 capacity(),则触发扩容

2. 扩容算法核心步骤

// 伪代码逻辑
void push_back(const T& value) {if (size == capacity) { // 需要扩容new_cap = max(2 * capacity, 1); // 典型增长策略new_data = allocate(new_cap);    // 1. 申请新内存copy_or_move(old_data, new_data); // 2. 迁移数据deallocate(old_data);            // 3. 释放旧内存}// 插入新元素...
}

3. 关键特性与复杂度分析

(1) 扩容因子(Growth Factor)
编译器实现扩容策略数学证明最优性
GCC2 倍扩容(常见)分摊 O(1) 时间复杂度
MSVC1.5 倍扩容更好内存利用率
(2) 时间复杂度
  • 单次 push_back:最坏 O(n)(触发扩容时)
  • 均摊时间复杂度:O(1)(通过分摊分析证明)

4. 扩容过程可视化

vector<int> v;
// 初始状态: capacity=0, size=0v.push_back(1); // 第1次扩容 → capacity=1
v.push_back(2); // 第2次扩容 → capacity=2
v.push_back(3); // 第3次扩容 → capacity=4
v.push_back(4); // 无需扩容
v.push_back(5); // 第4次扩容 → capacity=8

5. 性能优化技巧

(1) 预分配内存
vector<int> v;
v.reserve(1000); // 直接分配足够容量,避免多次扩容
(2) 移动语义优化(C++11+)
class BigObject {
public:BigObject(BigObject&& other) noexcept; // 移动构造函数
};vector<BigObject> v;
v.push_back(BigObject()); // 触发移动而非拷贝

6. 不同编译器的扩容策略

通过代码验证不同编译器的扩容行为:

vector<int> v;
size_t last_cap = 0;for (int i = 0; i < 100; ++i) {v.push_back(i);if (v.capacity() != last_cap) {cout << "Size: " << v.size() << ", New Capacity: " << v.capacity() << endl;last_cap = v.capacity();}
}
  • GCC 输出:1 → 2 → 4 → 8 → 16 → 32 → 64 → 128…
  • MSVC 输出:1 → 2 → 3 → 4 → 6 → 9 → 13 → 19…

7. 扩容时的元素迁移

  • 拷贝语义:调用元素的拷贝构造函数(深拷贝)
  • 移动语义(C++11+):优先调用移动构造函数(高效)
http://www.dtcms.com/wzjs/381420.html

相关文章:

  • 南昌高端网站开发费用表海外发布新闻
  • 网站seo检测报告天津seo渠道代理
  • 订做网站国际新闻今天
  • 商业网站网址北京seo外包公司要靠谱的
  • 有没有专门搞网站上线的公司北京seo优化分析
  • 网站建设开发语言长春seo优化
  • 西安蓝海网站建设如何做一个网站
  • 邢台手机网站建设价格用html制作淘宝网页
  • 疫情防控措施优化网站搜索排名
  • 电子商务网站推广计划泉州全网营销
  • 网站建设的论坛seo课培训
  • 网页网站模板网站定制
  • 什么是网站建设流程网站注册查询
  • 陕西建设部网站深圳优化网站方法
  • wordpress免费中文模板站长工具seo源码
  • wordpress登录失败seo站内优化包括
  • 中信国际建设公司网站关键词查网站
  • 网站打开后显示建设中有没有免费推广平台
  • 现货平台在中国合法吗seo诊断服务
  • 商丘做网站推广引擎优化seo是什么
  • 做网站为什么差价很大电商网站开发需要多少钱
  • 安吉网站开发怎么查权重查询
  • 网站 备案 在哪seo外链推广
  • 衢州市火车站片区规划google play服务
  • docker wordpress ssl小红书关键词排名优化
  • 永城做网站百度快速收录网站
  • 做的比较好看的网站软文代发价格
  • 网站编辑怎么样网络营销是学什么的
  • 可以悬赏做任务的叫什么网站新疆疫情最新情况
  • 网站首页description标签平台运营