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

宁波高新区做网站的公司影响seo排名的因素

宁波高新区做网站的公司,影响seo排名的因素,dw做的网站链接,有个专门做3d同人网站C STL中的vector vector是C标准模板库(STL)中最常用的序列容器之一,它是一个动态数组,能够存储任意类型的对象(如整数、字符串等)。vector的主要优点是提供了快速的随机访问,同时还能够动态地调…

C++ STL中的vector

vector是C++标准模板库(STL)中最常用的序列容器之一,它是一个动态数组,能够存储任意类型的对象(如整数、字符串等)。vector的主要优点是提供了快速的随机访问,同时还能够动态地调整大小。

基本操作
  1. 创建和初始化

    #include <vector>
    std::vector<int> v1; // 创建一个空的vector
    std::vector<int> v2(5, 10); // 创建一个大小为5的vector,每个元素初始化为10
    std::vector<int> v3 = {1, 2, 3, 4, 5}; // 初始化列表
    
  2. 访问元素

    • at(index)operator[]:访问指定位置的元素,at会检查索引范围。
    • front()back():访问第一个和最后一个元素。
    int first = v3.front(); // 1
    int last = v3.back(); // 5
    int element = v3.at(2); // 3
    
  3. 修改元素

    • push_back(value):在vector的末尾添加一个元素。
    • pop_back():移除vector的最后一个元素。
    • insert(position, value):在指定位置插入一个元素。
    • erase(position)erase(start, end):删除一个或多个元素。
    • clear():清空所有元素。
    v3.push_back(6); // v3: {1, 2, 3, 4, 5, 6}
    v3.pop_back(); // v3: {1, 2, 3, 4, 5}
    v3.insert(v3.begin() + 2, 99); // v3: {1, 2, 99, 3, 4, 5}
    v3.erase(v3.begin() + 2); // v3: {1, 2, 3, 4, 5}
    
  4. 大小和容量

    • size():返回当前元素的数量。
    • capacity():返回vector在不重新分配内存的情况下可以存储的元素数量。
    • resize(n):改变vector的大小,多出的元素会被初始化。
    • reserve(n):增加vector的容量。
    size_t num_elements = v3.size(); // 5
    size_t capacity = v3.capacity();
    v3.reserve(10);
    
  5. 遍历

    • 使用范围for循环或迭代器。
    for (int x : v3) std::cout << x << " ";
    for (auto it = v3.begin(); it != v3.end(); ++it) std::cout << *it << " ";
    
相关算法

vector可以与STL中的算法库配合使用,提供强大的数据处理能力。

  1. 排序

    #include <algorithm>
    std::sort(v3.begin(), v3.end()); // 默认升序排序
    
  2. 查找

    auto it = std::find(v3.begin(), v3.end(), 3);
    if (it != v3.end()) {std::cout << "Element found: " << *it << std::endl;
    }
    
  3. 计数

    int count = std::count(v3.begin(), v3.end(), 3);
    
  4. 删除特定元素

    v3.erase(std::remove(v3.begin(), v3.end(), 3), v3.end());
    
  5. 遍历并执行操作

    std::for_each(v3.begin(), v3.end(), [](int& x){ x *= 2; });
    

删除特定元素代码是C++中使用的一种常见技术,结合了std::remove算法和erase成员函数来从容器中删除特定的元素。这种技术通常被称为“擦除-删除”惯用法(Erase-Remove Idiom)。下面是详细解释:

分解代码

d3.erase(std::remove(d3.begin(), d3.end(), 3), d3.end());
  1. std::remove(d3.begin(), d3.end(), 3)

    • std::remove是一个算法,它接受三个参数:开始迭代器、结束迭代器和要删除的值(这里是3)。
    • 这个函数并不实际从容器中删除元素,而是将不等于3的元素向容器的开始位置移动,并返回一个新的迭代器,指向移动后容器中最后一个有效元素之后的位置。
    • 也就是说,所有的3都被移到了容器的末尾,并且函数返回了一个指向第一个3的迭代器。
  2. d3.erase(new_end, d3.end())

    • erase是一个成员函数,用于从容器中实际删除元素。它接受两个迭代器作为参数:要删除的元素范围的开始和结束。
    • 在这里,erase函数使用从std::remove返回的迭代器(指向第一个3)作为起始位置,到容器的结束位置d3.end()作为结束位置。
    • 这个调用将删除所有的3,因为这些3现在都位于这个范围内。

效果

这行代码的效果是从容器d3中删除所有值为3的元素。这种方法比单独使用循环和条件删除更高效,因为它只需要一次遍历和少量的元素移动。

注意

  • 这种方法适用于支持快速随机访问的容器,如vectordequearray等。对于listforward_list这类容器,应使用成员函数remove,因为它们提供了更为优化的删除操作。
  • 使用std::remove时,容器的大小不会改变,只是元素的位置发生了变化,因此需要与erase结合使用来实际减少容器的大小。
http://www.ds6.com.cn/news/8217.html

相关文章:

  • 信息网站大全百度 指数
  • 武汉做医疗器械公司网站的百度网址大全怎么设为主页
  • 做网站需要什么知识宁波关键词优化企业网站建设
  • 纯静态网站制作去哪里推广软件效果好
  • 主播网站开发自媒体有哪些平台
  • 网站关键词排行查询百度营销搜索推广
  • 大型门户网站建设的意义广告外链平台
  • 做网站为什么需要服务器人民日报最新头条10条
  • 做家装的设计公司网站网络推广运营公司
  • wordpress手机网站模板制作湖南专业seo公司
  • 什么网站ppt做的好如何申请一个网站域名
  • php做网站如何配置域名的安顺seo
  • 介绍一下动态网站开发流程软文范例
  • 政府网站建设自助建站平台白嫖永久服务器
  • 衡阳做网站ss0734今日新闻国内大事件
  • 请别人做网站如何交付网络seo首页
  • 做二手车的网站有哪些外包公司的人好跳槽吗
  • 新乡辉县网站建设指数是什么意思
  • php网站开发外包百度关键词投放
  • 买东西的网站都有哪些站长之家seo工具
  • 常德网站设计家庭优化大师下载
  • animate.css网站怎么优化网站
  • 做愛視頻网站优化seo教程
  • 捷讯官网 网站建设北京百度推广优化公司
  • 政府网站哪家公司做的个人怎么建立网站
  • 乾县网站建设爆款引流推广软件
  • 江苏省住房和城乡建设厅 官方网站目录型搜索引擎有哪些
  • 设计软件免费下载网站seo关键词优化案例
  • 想学做宝宝食谱上什么网站企业网络营销方案设计
  • 林州网站制作互联网营销师怎么报名