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

企业设计个网站光明区建设局网站

企业设计个网站,光明区建设局网站,稻壳网站建设,3d模型资源哪个网站比较好【C STL】vector容器详解#xff1a;从入门到精通 摘要#xff1a;本文深入讲解C STL中vector容器的使用方法#xff0c;涵盖常用函数、代码示例及注意事项#xff0c;助你快速掌握动态数组的核心操作#xff01; 一、vector概述 vector是C标准模板库#xff08;STL STL】vector容器详解从入门到精通 摘要本文深入讲解C STL中vector容器的使用方法涵盖常用函数、代码示例及注意事项助你快速掌握动态数组的核心操作 一、vector概述 vector是C标准模板库STL中序列容器的代表本质上是一个动态数组。它能够根据需要自动调整大小支持快速随机访问在尾部插入/删除元素效率极高是C中最常用的容器之一。 核心特性 动态扩容内存空间自动增长默认翻倍策略连续存储元素内存连续支持指针偏移访问随机访问O(1)时间复杂度访问任意元素尾部操作高效push_back/pop_back的时间复杂度为O(1) 二、vector常用函数详解 1. 构造函数 vectorint v1; // 空vector vectorint v2(5, 100); // 5个100 vectorint v3(v2.begin(), v2.end()); // 迭代器构造 vectorint v4(v3); // 拷贝构造// C11初始化列表 vectorint v5 {1,2,3,4,5}; 2. 元素访问 函数说明示例[]随机访问不检查越界v[2] 5;at()带边界检查的访问v.at(3) 10;front()首元素int a v.front();back()尾元素int b v.back();data()返回指向数组的指针C11int* p v.data(); 3. 容量操作 v.empty(); // 判断是否为空 v.size(); // 当前元素个数 v.capacity(); // 当前分配的存储容量 v.reserve(100); // 预分配至少100个元素的空间 v.resize(10); // 调整元素个数为10默认填充0 v.shrink_to_fit(); // 请求移除未使用的容量C114. 修改操作 尾部操作 v.push_back(10); // 尾部插入元素 v.emplace_back(20); // 更高效的尾部构造C11 v.pop_back(); // 删除最后一个元素插入删除 v.insert(v.begin()2, 100); // 在第三个位置插入100 v.emplace(v.begin(), 50); // 构造插入C11 v.erase(v.begin()1); // 删除第二个元素 v.erase(v.begin(), v.begin()3); // 删除前三个元素 v.clear(); // 清空所有元素交换内容 vectorint v6 {6,7,8}; v.swap(v6); // 交换两个vector的内容三、vector遍历方式 1. 下标遍历 for(size_t i 0; i v.size(); i) {cout v[i] ; }2. 迭代器遍历 for(auto it v.begin(); it ! v.end(); it) {cout *it ; }3. 范围for循环C11 for(int num : v) {cout num ; }四、实战示例代码 #include iostream #include vector using namespace std;int main() {vectorint vec;// 添加元素for(int i0; i5; i){vec.push_back(i*10);} // vec: 0 10 20 30 40// 中间插入vec.insert(vec.begin()2, 25); // 0 10 25 20 30 40// 删除元素vec.pop_back(); // 移除40vec.erase(vec.begin()); // 移除0 → 10 25 20 30// 修改元素vec[1] 250; // 10 250 20 30// 容量操作cout Capacity: vec.capacity() endl; // 8vec.shrink_to_fit();cout New capacity: vec.capacity() endl; //4// 遍历输出for(int num : vec) {cout num ;}return 0; }输出结果 Capacity: 8 New capacity: 4 10 250 20 30 五、注意事项 迭代器失效 插入元素可能导致所有迭代器失效扩容时删除元素会使被删元素之后的迭代器失效 性能优化 使用reserve()预分配空间避免频繁扩容优先选择emplace_back()而非push_back() 特殊类型 vectorbool是特化版本每个元素占1bit行为可能与其他类型不同 内存管理 clear()只清空元素不释放内存结合shrink_to_fit()可真正释放多余内存C11 六、总结 vector凭借其高效的随机访问和动态扩展特性成为处理动态数组需求的首选容器。合理使用reserve预分配、选择正确的插入方法可以显著提升程序性能。掌握vector的各种操作将为你的C编程打下坚实基础
http://www.w-s-a.com/news/987729/

相关文章:

  • 环保网站 怎么做物流网站的功能与特色
  • 网站多久才会被收录服务器租用泰海
  • 电商网站建设合同模板临汾推广型网站建设
  • 天猫商务网站建设目的长春网站设计
  • 公司网站建设会议纪要昆山高端网站建设机构
  • 做消费网站流程深圳网站设计价格
  • 做电影网站怎么接广告中国最新军事新闻视频
  • 网站推广设计做哪些设置自动删除的wordpress
  • 东莞东坑网站设计专业网站制作设
  • 网站怎么做现场直播视频成都科技网站建设找
  • 个人网页设计步骤网站没有内容 能做优化吗
  • 专业网站建设公司招聘网站排行榜
  • 网站建设规范方法企业解决方案架构
  • ae做网站导航wordpress门户
  • 重庆市网站备案材料云南做网站
  • 网页设计模板网站免费珠海视窗网
  • 茂名模板建站定制WordPress注册不提示
  • 陕西营销型手机网站建设深圳制作网站服务
  • 受欢迎的锦州网站建设Wordpress 图片左右滑动
  • 湖南优化网站建设线上网站建设需求
  • 建什么类型的网站访问量比较大哪些外包公司比较好
  • php网站地图外贸建站哪家强外贸网站怎么做
  • 宁波五金网站建设中国建筑网官网投诉查询
  • 哪个网站注册域名便宜免费流程图制作网站
  • 潍坊做网站南宁网站seo优化公司
  • 网站建设的基本技术步骤无网站营销
  • 我国旅游网站的建设网站开发 混合式 数据库
  • 淘宝客网站域名家居网站开发项目计划书
  • 网站打不开显示asp苏州注册公司需要多少钱
  • 凡科建站登录官网wordpress主题有什么用