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

电子产品在哪些网站做调研工业设计案例网站

电子产品在哪些网站做调研,工业设计案例网站,网站设计制作排名,企业网站产品分类多怎么做seo容器根据不同的使用场景和需求,有序序列、无序集合以及专门的适配器等各种形式。了解如何根据场景选择合适的容器并使用它们,是写出高效可读性强的 C++ 代码的关键所在,C++ 标准库提供了一系列标准容器来存储和操作数据集合。这些容器被设计为通用、高效且易于使用。它们都是… 容器根据不同的使用场景和需求,有序序列、无序集合以及专门的适配器等各种形式。了解如何根据场景选择合适的容器并使用它们,是写出高效可读性强的 C++ 代码的关键所在,C++ 标准库提供了一系列标准容器来存储和操作数据集合。这些容器被设计为通用、高效且易于使用。它们都是模板类,意味着可以用来存储任何类型的对象! 接下来我们一起了解下关于容器的分类及使用。 序列式容器vector (向量)案例使用场景总结 deque (双端队列)案例使用场景总结 list (链表)案例使用场景总结 forward_list (单向链表)案例使用场景总结 array (数组)案例使用场景总结 关联式容器set (集合)案例使用场景总结 multiset (多重集合)案例使用场景总结 map (映射)案例使用场景总结 multimap (多重映射)案例使用场景总结 无序关联式容器unordered_set (无序集合)案例使用场景总结 unordered_multiset (无序多重集合)案例使用场景总结 unordered_map (无序映射)案例使用场景总结 unordered_multimap (无序多重映射)案例使用场景总结 总结 接下来我们一起了解下关于容器的分类及使用。) 序列式容器 vector (向量) 动态数组 用于存储动态大小的数组,提供了快速的随机访问和数组型接口,并能够在运行时动态增长或收缩(尾部添加/删除操作)。 案例 #include vector #include iostreamint main() { #if 0std::vectorint vec = {10, 20, 30}; #else// 初始化一个空的 vectorstd::vectorint vec;// 添加元素至末尾vec.push_back(10);vec.push_back(20);vec.push_back(30); #endif// 访问元素std::cout "First element: " vec[0] '\n'; // 使用下标操作符std::cout "Second element: " vec.at(1) '\n'; // 使用 .at() 方法,带边界检查// 获取 vector 的大小std::cout "The vector size is: " vec.size() '\n';// 遍历 vectorfor (size_t i = 0; i vec.size(); ++i) {std::cout vec[i] ' ';}std::cout '\n';// 使用迭代器遍历for (auto it = vec.begin(); it != vec.end(); ++it) {std::cout *it ' ';}std::cout '\n';// 使用范围基于的 for 循环for (int num : vec) {std::cout num ' ';}std::cout '\n';// 移除最后一个元素vec.pop_back();// 清空 vectorvec.clear();return 0; }使用场景 当你需要一个可以动态改变大小的数组时: std::vector允许在运行时添加和删除元素。因此,如果数据集合的大小不是固定的,使用vector会非常方面。当需要频繁访问元素(通过下标),而不需要在中间插入或删除元素时: std::vector提供了对其元素的快速随机访问(时间复杂度为O(1)),但在中间插入或删除操作会导致内部元素的移动,时间复杂度较高(平均为O(n))当要求内存连续存储时: std::vector的所有元素都是在一个连续的内存块内存储的,这意味着可以获得数据局部性的优势,并且可以利用指针算术直接访问元素在进行大量元素插入或移除操作时,通常在末端操作: 对于std::vector,在末尾添加(push_back())或移除(pop_back())元素效率最高,因为这些操作不需要移动除新增或移除元素之外的任何元素总结 选择std::vector时应该注意的是,为了支持动态扩展,它可能会在内存中实现多次分配和复制。当vector容量不足以容纳更多元素时,它将进行重新分配,并将所有元素复制到新的内存地址。为了减少这种分配和复制的开销,如果知道大致所需的容量,可以使用reserve()方法预先分配足够的空间。 deque (双端队列) 双端动态数组 允许在容器的两端快速插入和删除对象。与 std::vector 不同的是,std::deque 支持在两端高效地添加或移除元素,非常适合用作队列或双端队列数据结构。 案例 #include deque #include iostreamint main() { #if 0std::dequeint d = { 10, 20 }; #elsestd::dequeint d;// 在末尾添加元素d.push_back(10);d.push_back(20); #endif// 在开头添加元素d.push_front(0);d.push_front(-10);// 访问元素std::cout "First element: " d.front() '\n'; // 访问第一个元素std::cout "Last element: " d.back() '\n'; // 访问最后一个元素// 下标访问元素(但不如 std::vector 那么快)std::cout "Element at index 2: " d[2] '\n';// 使用迭代器遍历for (std::dequeint::iterator it = d.begin(); it != d.end(); ++it) {std::cout *it ' ';}std::cout '\n';// 使用范围基于的 for 循环for (int n : d) {std::cout n ' ';}std::cout '\n';// 删除元素d.pop_front(); // 删除第一个元素d.pop_back(); // 删除最后一个元素return 0; }使用场景 两端操作: 如果你的应用场景需要在容器的两端添加或删除元素,使用 std::deque 是非常合适的。它在两端的插入和删除效率都很高作为真正的双端队列(Double-ended queue): std::deque 可被用作队列(先进先出结构)或栈(先进后出结构),因为它提供了一致的接口来操作容器的两端大量插入或删除: 如果需要在开始位置频繁插入或删除元素,std::vector 在这种情况下可能会有较差的性能,因为每次都需要移动元素。相比之下,std::deque 在两端插入和删除都有良好的性能随机访问: 尽管 std::deque 也提供了随机访问能力,但由于其内部可能是块状链表结构,访问中间元素的效率可能不如 std::vector 那么快。因此,当你需要结合两端插入/删除和不太频繁的随机访问时,std::deque 是一个不错的选择作为适配器的基础容器: C++ 标准库中的 stack 和 queue 容器适配器可以使用 std::deque 作为默认的底层容器,尽管 stack 通常用 std::deque(或 std::vector),而 queue 通常专门使用 std::deque,因为 stack 不需要两端操作,而 queue 需要总结 总的来说,std::deque 在需要灵活操作两端元素的场合表现良好,特别是当你不确定需要的容量大小,并且插入或删除操作在元素集的两端比中间更频繁时,它是一个很好的选择。由于其对两端操作的优化,std::deque 在特定应用场景下,性能可能优于 std::vector。 list (链表) 双向链表 通过双向指针连接各个元素。与数组(如 std::vector)或块状连续存储(如 std::deque)不同,std::list 中的元素在内存中并不连续存放,这使得它非常适合在中间位置进行快速插入和删除操作。 案例 #include list #include iostreamint main() {// 初始化列表 #if 0std::listint mylist = {2, 4, 6, 8}; #elsestd::listint mylist;mylist.push_front(6);
http://www.zqtcl.cn/news/49980/

相关文章:

  • 沈阳市网站怎么样购买服务器建设网站
  • 网站开发 h5 h4网站运作方式
  • 有没有做软件的外包网站武隆专业网站建设公司
  • 音乐网站的制作创建网站目录时我们应该
  • 网站建设违约合同网站发布小说封面怎么做
  • 免费注册域名的网站源码分享
  • 网站设计与建设第一章公众号登陆
  • 网络营销网站功能无锡工程建设招标网站
  • 建筑设计找工作的网站上海公司注册查询
  • 怎么做点击图片进入网站做seo需要会网站开发吗
  • 温州市城市建设学校网站aso优化运营
  • 贵阳网站制作 建设网站建设公司市场开发方案
  • 做视频网站收费侵权吗如何做网站推广 求指点
  • 网站建设推广特色景区门户网站建设大数据分析
  • 15年做啥网站致富汽车app网站建设
  • 网站建设阿里巴巴wifiu盘做网站
  • 能源网站开发介绍湛江网站
  • 网站描述如何写利于优化上海搬家公司价目表
  • 自己做文字壁纸的网站怎么做网站动态框
  • 做网络的网站很重要吗网页升级访问自动
  • 厦门网站建设网页设计wordpress去掉自豪
  • 化妆品网站建设规模设想广州产品设计公司有哪些
  • 电子商务网站规划建设与管理网络网站建设广州
  • 网站建设的参考书籍北京模板建站哪家好
  • 怎么做的英文网站什么是虚拟网站
  • 泉州网站制作哪个好薇sem分析是什么
  • 多语言网站难做么焦作专业做网站公司
  • iis7.5 没有默认网站导购wordpress
  • 重庆主城推广网站建设青岛市建设工程管理信息网
  • 关于网站建设的合同协议书优秀网络广告文案案例