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

删负面的网站大一学生做的网站

删负面的网站,大一学生做的网站,网站为什么要挂服务器,php网站后台程序【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.hkea.cn/news/14509495/

相关文章:

  • 美的集团网站建设方案书建网站seo
  • 描述网站的整体建设一般步骤广告制作公司名字
  • 网站建设大作业做app网站有哪些功能
  • 怎么建立网站模版2020电商网站排行榜
  • 怎么申请自己公司的网址seo软件系统
  • 自我建设外贸网站纯静态网站页面优化
  • 仿我喜欢网站源码免费动易网站建设工作室
  • 佛山网站建设排名有限公司注册资金最低多少
  • 廊坊建设网站的公司现在可以去贵阳吗
  • 合肥网站建设策划方案广州网站建设网站开发
  • 什么网站可以兼职做设计环球培训机构官网
  • wordpress开发 文档下载抚州seo
  • 极速网站建设哪家好wordpress 去掉p标签
  • 网站建设与管理软件wordpress网页防爬
  • 大型php网站系统邯郸外贸网站建设公司
  • 如何通过网站后台修改网站今天足球赛事推荐
  • 网站开发用 c phpwordpress上传插件
  • 网页ui设计网站阿里云的网站
  • 无代码网站建设培训网站项目验收
  • 网站icp备案号定制网站公司哪家好
  • 北京网站建设推荐华网天下软件开发文档实例
  • 个人网站如何赚钱奥地利网站后缀
  • ios移动网站开发详解 pdf海外免费网站推广
  • 外贸看的英文网站网站排名易下拉教程
  • 自己的网站怎样做优化百姓网二手买卖
  • 做商城微信网站请问那个网站做推广好点
  • 网站建设丿金手指花总9服务好质量好的app开发
  • 企业如何加强互联网网站建设营销和销售的区别在哪里
  • 网站快照长期不更新如何做好网站外链
  • 快速建立平台网站开发开发小程序的软件有哪些