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

python制作网站开发重庆公司seo

python制作网站开发,重庆公司seo,作品集用什么网站做,wordpress怎么调用百度地图api手写常见操作: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/93631.html

相关文章:

  • 浙江省建设行政主管部门网站自己做网站设计制作
  • 烟台网站制作公司哪家好百度人工服务在线咨询
  • 大学生做家教网站百度刷搜索词
  • 樟木头仿做网站百度关键词挖掘
  • 上线了自助建站b站推广形式
  • 企业网站推广的目的网站如何进行网络推广
  • 快速知彼网络网站建设海外推广专员
  • wordpress resume网络推广优化网站
  • 营销网站建设公司地址口碑营销公司
  • 无锡专业网站建设百度精准获客平台
  • 扬州润扬交通建设集团网站百度开户返点
  • wordpress 下载站插件如何利用seo赚钱
  • 现在可以用的网站整站优化外包服务
  • 外贸快车做网站怎么样整站seo
  • 建设部网站怎么查询相关专业nba在线直播免费观看直播
  • 08影院wordpress主题seo和sem的区别是什么?
  • b站刚开始怎么推广北京网络推广公司wyhseo
  • 国内做网站哪家公司好长沙seo推广优化
  • 手机网站开发 html5网上永久视频会员是真的吗
  • wamp环境下做网站国家新闻最新消息今天
  • 贵港做网站建设价格费用十大免费b2b网站
  • 网站工期表怎么做网络技术推广服务
  • 二手商品网站怎么做衡水网站优化推广
  • 定制开发电商网站建设公司郑州百度推广公司地址
  • wordpress的nginx伪静态规则seo黑帽技术有哪些
  • 石家庄网站建设公司怎么样简述网络营销的方法
  • 厦门大型服装商城网站建设建一个网站需要多少钱?
  • 东莞石龙网站建设莞网站制作沈阳专业seo排名优化公司
  • 网站开发研发设计百度推广关键词越多越好吗
  • 销售网站建设方案数据分析培训课程