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

濮阳市网站怎么做宣传单页面网站有哪些内容

濮阳市网站怎么做宣传,单页面网站有哪些内容,建筑公司有哪些,1000学习做网站贵吗C STL常用容器总结#xff08;vector, deque, list, map, set#xff09;1. vector#xff08;动态数组#xff09;特点定义和初始化常用操作遍历方法2. deque#xff08;双端队列#xff09;特点定义和初始化常用操作3. list#xff08;双向链表#xff09;特点定义和… C STL常用容器总结vector, deque, list, map, set1. vector动态数组特点定义和初始化常用操作遍历方法2. deque双端队列特点定义和初始化常用操作3. list双向链表特点定义和初始化常用操作遍历方法4. map关联容器-映射特点定义和初始化常用操作遍历方法5. set关联容器-集合特点定义和初始化常用操作遍历方法容器选择指南通用操作1. vector动态数组 特点 动态大小的数组内存连续存储支持随机访问时间复杂度O(1)尾部插入删除效率高O(1)中间插入删除效率低O(n) 定义和初始化 #include vectorvectorint vec1; // 默认初始化vec1为空 vectorint vec2(vec1); // 使用vec1初始化vec2 vectorint vec3(vec1.begin(),vec1.end()); // 使用vec1初始化vec3 vectorint vec4(10); // 10个值为0的元素 vectorint vec5(10,4); // 10个值为4的元素 vectorint vec6{1,2,3,4,5}; // 列表初始化常用操作 // 添加元素 vec1.push_back(100); // 尾部添加元素 vec1.insert(vec1.begin(), 50); // 在开头插入50 vec1.insert(vec1.end(), 5, 3); // 从末尾插入5个值为3的元素// 访问元素 cout vec1[0] endl; // 下标访问 cout vec1.at(0) endl; // at()访问有边界检查 cout vec1.front() endl; // 首元素 cout vec1.back() endl; // 尾元素// 删除元素 vec1.pop_back(); // 删除末尾元素 vec1.erase(vec1.begin()); // 删除首元素 vec1.erase(vec1.begin(), vec1.begin()2); // 删除[0,2)区间元素// 容器信息 int size vec1.size(); // 元素个数 bool isEmpty vec1.empty(); // 判断是否为空 vec1.clear(); // 清空所有元素遍历方法 // 1. 下标法 for(int i 0; i vec1.size(); i) {cout vec1[i] ; }// 2. 迭代器法 for(vectorint::iterator it vec1.begin(); it ! vec1.end(); it) {cout *it ; }// 3. 范围for循环C11 for(auto x : vec1) {cout x ; }2. deque双端队列 特点 双端队列支持两端快速插入删除O(1)支持随机访问O(1)内存不连续由多个块组成 定义和初始化 #include dequedequeint dq1; // 默认初始化 dequeint dq2(10); // 10个值为0的元素 dequeint dq3(10, 5); // 10个值为5的元素 dequeint dq4{1,2,3,4,5}; // 列表初始化常用操作 // 添加元素 dq1.push_back(100); // 尾部添加 dq1.push_front(50); // 头部添加 dq1.insert(dq1.begin()1, 75); // 指定位置插入// 访问元素 cout dq1[0] endl; // 下标访问 cout dq1.at(0) endl; // at()访问 cout dq1.front() endl; // 首元素 cout dq1.back() endl; // 尾元素// 删除元素 dq1.pop_back(); // 删除尾部元素 dq1.pop_front(); // 删除头部元素 dq1.erase(dq1.begin()); // 删除指定位置元素// 容器信息 cout dq1.size() endl; // 元素个数 cout dq1.empty() endl; // 是否为空 dq1.clear(); // 清空3. list双向链表 特点 双向链表内存不连续不支持随机访问只能顺序访问任意位置插入删除效率高O(1) 定义和初始化 #include listlistint lst1; // 默认初始化 listint lst2(10); // 10个值为0的元素 listint lst3(10, 5); // 10个值为5的元素 listint lst4{1,2,3,4,5}; // 列表初始化常用操作 // 添加元素 lst1.push_back(100); // 尾部添加 lst1.push_front(50); // 头部添加 auto it lst1.begin(); advance(it, 2); // 迭代器前进2位 lst1.insert(it, 75); // 指定位置插入// 访问元素只能通过迭代器 cout lst1.front() endl; // 首元素 cout lst1.back() endl; // 尾元素// 删除元素 lst1.pop_back(); // 删除尾部 lst1.pop_front(); // 删除头部 lst1.remove(75); // 删除所有值为75的元素 lst1.erase(lst1.begin()); // 删除指定位置// 链表特有操作 lst1.sort(); // 排序 lst1.reverse(); // 反转 lst1.unique(); // 去除连续重复元素// 容器信息 cout lst1.size() endl; cout lst1.empty() endl; lst1.clear();遍历方法 // 迭代器法 for(listint::iterator it lst1.begin(); it ! lst1.end(); it) {cout *it ; }// 范围for循环 for(auto x : lst1) {cout x ; }4. map关联容器-映射 特点 存储键值对(key-value)按key自动排序基于红黑树key唯一查找效率O(log n) 定义和初始化 #include mapmapstring, int mp1; // 默认初始化 mapstring, int mp2{{apple, 5}, {banana, 3}, {orange, 8}}; // 列表初始化常用操作 // 插入元素 mp1[apple] 5; // 下标法插入/修改 mp1.insert(pairstring, int(banana, 3)); // insert插入 mp1.insert(make_pair(orange, 8)); // make_pair插入 mp1.emplace(grape, 6); // emplace插入C11// 访问元素 cout mp1[apple] endl; // 下标访问 cout mp1.at(apple) endl; // at()访问// 查找元素 auto it mp1.find(apple); // 查找返回迭代器 if(it ! mp1.end()) {cout Found: it-second endl; }// 判断元素是否存在 if(mp1.count(apple) 0) { // count返回0或1cout apple exists endl; }// 删除元素 mp1.erase(apple); // 根据key删除 mp1.erase(mp1.find(banana)); // 根据迭代器删除// 容器信息 cout mp1.size() endl; cout mp1.empty() endl; mp1.clear();遍历方法 // 迭代器法 for(mapstring, int::iterator it mp1.begin(); it ! mp1.end(); it) {cout it-first : it-second endl; }// 范围for循环 for(auto pair : mp1) {cout pair.first : pair.second endl; }// C17结构化绑定 for(auto [key, value] : mp1) {cout key : value endl; }5. set关联容器-集合 特点 存储唯一元素自动排序基于红黑树实现查找、插入、删除效率O(log n) 定义和初始化 #include setsetint st1; // 默认初始化 setint st2{1, 3, 5, 7, 9}; // 列表初始化 setint st3(st2.begin(), st2.end()); // 迭代器初始化常用操作 // 插入元素 st1.insert(10); // 插入单个元素 st1.insert({20, 30, 40}); // 插入多个元素 auto result st1.insert(10); // insert返回pairiterator, bool if(result.second) {cout 插入成功 endl; }// 查找元素 auto it st1.find(10); // 查找返回迭代器 if(it ! st1.end()) {cout Found: *it endl; }// 判断元素是否存在 if(st1.count(10) 0) { // count返回0或1cout 10 exists endl; }// 删除元素 st1.erase(10); // 根据值删除 st1.erase(st1.find(20)); // 根据迭代器删除 st1.erase(st1.begin(), st1.end()); // 删除范围// 集合运算 setint st4{1, 2, 3}; setint st5{2, 3, 4}; setint result_union, result_intersection;// 并集 set_union(st4.begin(), st4.end(), st5.begin(), st5.end(), inserter(result_union, result_union.begin()));// 交集 set_intersection(st4.begin(), st4.end(), st5.begin(), st5.end(),inserter(result_intersection, result_intersection.begin()));// 容器信息 cout st1.size() endl; cout st1.empty() endl; st1.clear();遍历方法 // 迭代器法 for(setint::iterator it st1.begin(); it ! st1.end(); it) {cout *it ; }// 范围for循环 for(auto x : st1) {cout x ; }容器选择指南 容器适用场景时间复杂度vector需要随机访问主要在尾部操作访问O(1)尾部插入O(1)deque需要随机访问两端都要操作访问O(1)两端插入O(1)list频繁在中间插入删除不需随机访问插入删除O(1)查找O(n)map需要键值对映射要求有序查找插入删除O(log n)set需要唯一元素集合要求有序查找插入删除O(log n) 通用操作 所有STL容器都支持的操作 size() - 返回元素个数empty() - 判断是否为空clear() - 清空所有元素begin(), end() - 返回迭代器, ! - 比较操作符
http://www.zqtcl.cn/news/655129/

相关文章:

  • 高端企业网站设计公司怎么帮公司做网站建设
  • 湖北专业网站建设维修电话企业网络管理方案
  • 做网站外链wordpress网页怎么上传
  • wordpress站点优化石景山网站开发
  • 企业网站建设的流程店铺推广引流
  • 北京网站优化wyhseo信息化建设杂志社官方网站
  • 网站图片处理方案动漫制作这个专业怎么样
  • 做写手哪个网站好黄页网站建设黄页网站建设
  • 多语言企业网站免费模板网站哪个好
  • 拟一份饰品网站建设合同襄樊门户网站建设
  • 你对网站第一印象受欢迎的广州做网站
  • 网站开发项目的需求分析浙江省城乡建设网站证件查询
  • 整站seo定制简单 大气 网站模版
  • 网站界面设计策划书怎么做云匠网订单多吗
  • html教程 pdf网站建设优化兰州
  • 招聘网站可以同时做两份简历吗外贸网站示例
  • 黑链 对网站的影响企业融资计划书范本
  • 自己的简历怎么制作网站学院网站建设成效
  • 周口seo 网站郑州建站网站的公司
  • 网站布局模板北京装修大概多少钱一平方
  • 德阳网站建设ghxhwl风景网站模板
  • 昌邑网站建设拓者设计吧现代效果图
  • 学校网站建设成功案例网站开发需要学习哪些内容
  • 怎么让公司建设网站seo于刷网站点击
  • 网站建设合同严瑾建设网站宣传
  • 哪个网站做餐饮推广最好深圳市信任网站
  • 网站模板 整站源码广州网站vi设计报价
  • 百度速页建站wordpress审核插件
  • 怎么给网站wordpress专业的vi设计公司
  • 百度关键词在线优化寻找郑州网站优化公司