C++中的vector中erase用法实例代码

yizhihongxing

C++中的vector中erase用法实例代码

简介

在C++中,vector是一种非常常用的容器,它可以动态地管理内存,能够随时加入或者删除元素。vector的erase方法是其中非常常用的函数之一,通过该函数我们可以删除vector中的元素。

使用方法

vector中的erase函数有多种使用方法,其中比较常用的有两种,分别是通过迭代器和通过下标。下面将分别进行说明。

通过迭代器删除元素

我们可以通过迭代器删除vector中的元素,这样可以比较灵活地删除任意位置的元素,其语法如下:

iterator erase (iterator position);
iterator erase (const_iterator position);

其中,position即为欲删除元素的位置。该方法返回指向删除元素之后的下一个元素的迭代器。

下面是一个使用迭代器删除元素的例子,我们初始化一个含有5个元素的vector,然后删除第3个元素:

#include <iostream>
#include <vector>

int main()
{
    std::vector<int> vec{1, 2, 3, 4, 5};

    auto it = vec.begin() + 2; // 获取第3个元素的迭代器
    vec.erase(it); // 删除第3个元素

    for (auto i : vec) {
        std::cout << i << " ";
    }

    return 0;
}

输出结果为:

1 2 4 5

通过下标删除元素

我们也可以通过下标删除vector中的元素,其语法如下:

iterator erase (iterator first, iterator last);
iterator erase (const_iterator first, const_iterator last);

其中,first和last即为欲删除元素的区间,即[first, last)。

下面是一个使用下标删除元素的例子,我们初始化一个含有5个元素的vector,然后删除第3个元素:

#include <iostream>
#include <vector>

int main()
{
    std::vector<int> vec{1, 2, 3, 4, 5};

    vec.erase(vec.begin() + 2); // 删除第3个元素

    for (int i = 0; i < vec.size(); ++i) {
        std::cout << vec[i] << " ";
    }

    return 0;
}

输出结果为:

1 2 4 5

总结

vector中的erase函数能够方便地删除vector中的元素,它的使用方法也比较灵活。在使用时,我们需要根据自己的实际需求来选择适合自己的删除方法,以达到最佳效果。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:C++中的vector中erase用法实例代码 - Python技术站

(0)
上一篇 2023年5月23日
下一篇 2023年5月23日

相关文章

  • C++如何实现简易扫雷游戏

    以下是“C++如何实现简易扫雷游戏”的完整攻略: 1. 游戏规则 扫雷游戏的规则如下:给定一个网格,每个格子可能是地雷或者数字,玩家需要翻转每个格子,如果它是地雷,则游戏结束,如果是数字,则表示周围八个格中地雷的数量,玩家需要根据数字推测哪些格子是地雷,最后揭示出所有非地雷格子以完成游戏。 2. 实现步骤 在 C++ 中,我们可以采用面向对象的思想,定义格子…

    C 2023年5月23日
    00
  • C/C++如何实现循环左移,循环右移

    C/C++可以通过位操作实现循环左移和循环右移。 循环左移的思路是把数的二进制位向左移动k位,并把超出第n位的二进制位移到最低n位,最高位填0。 公式为:(x<>(n-k)&(pow(2,k)-1)<<n-k) 示例: 假设x的二进制表示为11001100, k=3 则循环左移3位后,二进制结果为01100110。 编写C/C…

    C 2023年5月23日
    00
  • PHP+JQUERY操作JSON实例

    关于“PHP+JQUERY操作JSON实例”的完整攻略,我会从以下几个方面进行详细讲解: 什么是JSON 如何使用PHP操作JSON 如何使用JQUERY操作JSON 示例说明 1. 什么是JSON JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,很多前端开发人员都会使用JSON来传输数据,特别是在AJAX中经常使…

    C 2023年5月22日
    00
  • 45W pd电源到底怎么样?小米45W USB-C电源测评

    45W PD电源的介绍 45W PD电源是一种高功率输出的USB-C电源,可以为充电功率需求较高的设备提供更快的充电速度,如大型笔记本电脑、平板电脑和智能手机等。小米45W USB-C电源是目前市面上最受欢迎的45W PD电源之一。 电源性能测试 为了测试小米45W USB-C电源的性能表现,我们进行了以下测试: 确定输出功率 首先,我们测试了电源提供的最大…

    C 2023年5月23日
    00
  • python 提取key 为中文的json 串方法

    提取key为中文的JSON串的方法,可以利用Python的json模块和正则表达式实现。具体步骤如下: 步骤一:读取JSON文件 首先,使用Python中的open函数来读取JSON文件,并使用json.load函数将文件内容加载为JSON对象。示例代码如下: import json with open(‘data.json’, ‘r’, encoding=…

    C 2023年5月23日
    00
  • C语言高级教程之变长数组详解

    C语言高级教程之变长数组详解 什么是变长数组 变长数组是C99标准新增的特性,与传统的数组不同的是,它的大小是在运行时动态确定的。在定义变长数组时,需要使用变量来代表数组的大小。变长数组的大小可以在程序运行时根据需要而动态地改变,这使得程序具备了更好的灵活性。 声明和使用变长数组 声明变长数组的语法与传统的数组有所不同,需要使用中括号加上变量的形式来指定数组…

    C 2023年5月23日
    00
  • C/C++编译器GCC下的常用编译命令总结

    下面我将为你讲解“C/C++编译器GCC下的常用编译命令总结”的完整攻略。 总述 GCC是一款广受欢迎的开源编译器,支持多种编程语言,并且跨平台。它是GNU编译器套件中的一个组件,可在Linux,macOS和Windows上运行。本文将介绍几个GCC编译器的常用命令。 命令详解 编译命令 1. 编译C文件 编译C文件的命令为: gcc [-g] [-O] […

    C 2023年5月23日
    00
  • 2048小游戏C语言实现代码

    首先,2048小游戏是一款经典的益智游戏,玩家需要通过合并数字达到2048的目标。对于C语言实现,代码可以分为几个部分:界面显示、随机数字生成、输入处理、数字移动和合并、判断游戏是否结束。 界面显示 为了在终端中显示2048的游戏界面,我们需要使用C语言的库函数ncurses。首先,需要安装ncurses库,在Ubuntu系统下使用以下命令安装: sudo …

    C 2023年5月24日
    00
合作推广
合作推广
分享本页
返回顶部