带你了解C++中vector的用法

yizhihongxing

带你了解C++中vector的用法

什么是vector

vector是C++标准库中的一种容器,它可以存储任意类型的数据,而且容量可以动态扩展。vector内部使用动态数组实现,因此可以通过下标访问元素。

vector如何使用

首先需要包含vector头文件:

#include <vector>

接着,可以通过以下方式定义一个vector:

vector<int> vec; // 定义一个int类型的vector

可以在定义时指定vector的初始大小和初始值:

vector<int> vec(5, 10); // 定义一个大小为5,初始值为10的int类型vector

也可以通过vector的成员函数在运行时修改容器的大小:

vec.resize(10); // 将vector的大小改为10,如果容器变大则默认在末尾插入0
vec.resize(15, 1); // 将vector的大小改为15,多出的元素用1填补
vec.resize(5); // 将vector的大小改为5,多出的元素会被删除

将元素添加到vector末尾可以使用push_back函数:

vec.push_back(20); // 将20添加到vector的末尾

也可以通过下标访问vector中的元素:

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

示例一:在vector中插入元素

下面的示例演示如何向vector中添加元素,并输出该vector中的所有元素:

#include <iostream>
#include <vector>
using namespace std;

int main() {
    vector<int> vec;
    vec.push_back(1);
    vec.push_back(2);
    vec.insert(vec.begin() + 1, 3);
    for (int i = 0; i < vec.size(); i++) {
        cout << vec[i] << " ";
    }
    return 0;
}

解释:这段代码中先定义了一个空的vector,然后使用push_back函数向vector中添加了两个元素1和2,接着在下标为1的位置插入一个元素3。最后通过下标访问输出了vector中的所有元素。

输出结果:

1 3 2

示例二:从vector中删除元素

下面的示例演示如何删除vector中的元素,并输出该vector中的所有元素:

#include <iostream>
#include <vector>
using namespace std;

int main() {
    vector<int> vec;
    vec.push_back(1);
    vec.push_back(2);
    vec.push_back(3);
    vec.erase(vec.begin() + 1);
    for (int i = 0; i < vec.size(); i++) {
        cout << vec[i] << " ";
    }
    return 0;
}

解释:这段代码中先定义了一个vector,并使用push_back函数向vector中添加了三个元素1、2、3。接着通过erase函数删除下标为1的元素。最后通过下标访问输出了vector中的所有元素。

输出结果:

1 3

总结

以上就是关于C++中vector的简单用法介绍,更多关于vector的使用详见C++标准库文档。通过这篇文章我们了解了vector的定义、初始化、动态扩展、元素访问、元素添加和删除等基本用法,希望对你有所帮助。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:带你了解C++中vector的用法 - Python技术站

(0)
上一篇 2023年6月26日
下一篇 2023年6月26日

相关文章

  • 你可能会用到的16个Linux命令

    下面是对于“你可能会用到的16个Linux命令”完整攻略的详细讲解: 命令介绍 1. ls 用于显示当前文件夹中的文件和目录列表。 示例: ls 2. cd 用于切换工作目录。 示例: cd Documents/ 3. pwd 用于显示当前工作目录的完整路径。 示例: pwd 4. mkdir 用于创建新的目录。 示例: mkdir NewDirectory…

    other 2023年6月26日
    00
  • OPPO A83开发者选项在哪里?怎么打开USB调试模式?

    要打开OPPO A83的开发者选项和USB调试模式,需要您按照以下步骤进行操作: Step 1: 进入“关于手机”页面 首先,您需要打开您的OPPO A83手机,并进入“设置”页面,然后向下滑动,寻找“关于手机”选项,点击进入该页面。 Step 2: 进入“版本号”页面 在“关于手机”页面中,您需要连续点击“版本号”7次,直到系统提示“您已成为开发者”。 S…

    other 2023年6月26日
    00
  • 如何基于js管理大文件上传及断点续传详析

    如何基于JS管理大文件上传及断点续传是一个比较庞杂的话题,需要分多个方面进行分析和探讨。以下是一个基本的攻略。 1. 了解大文件上传的基本概念 在进行大文件上传前,必须要了解一些基本概念,例如分片上传、断点续传、上传速度控制等。可以参考一些知名的开源库或者API,例如:- WebUploader:京东前端开源的大文件上传组件,支持分片上传、断点续传等功能。-…

    other 2023年6月26日
    00
  • 关于crontab:在特定时间段内每5分钟运行一次cron

    以下是关于“关于crontab:在特定时间段内每5分钟运行一次cron”的完整攻略,包含两个示例。 在特定时间段内每5分钟运行一次cron 在Linux中,我们可以使用crontab命令来定时运行任务。如果我们需要在特定时间段内每5分钟运行一次cron,可以使用以下攻略。 1. 编辑crontab文件 我们可以使用crontab命令编辑crontab文件。以…

    other 2023年5月9日
    00
  • C++实现简单贪吃蛇游戏

    让我来详细讲解“C++实现简单贪吃蛇游戏”的完整攻略。 1. 确定游戏框架 首先,我们需要确定游戏的框架,也就是游戏画面的表示方法。我们可以使用命令行或者图形界面库来创建游戏画面。在这里我会以控制台窗口作为游戏画面的表示方法。 2. 设计游戏逻辑 接下来,我们需要设计游戏的逻辑。贪吃蛇游戏的逻辑很简单,玩家通过控制蛇的移动方向,让蛇吃食物并不断增长,同时要避…

    other 2023年6月26日
    00
  • NetBeans连接SQL server数据库教程

    NetBeans连接SQL Server数据库教程 本教程将详细介绍如何使用NetBeans连接SQL Server数据库。我们将使用Java语言和NetBeans集成开发环境(IDE)来完成这个过程。 步骤1:准备工作 在开始之前,请确保您已经完成以下准备工作: 安装Java Development Kit(JDK):确保您已经安装了适当版本的JDK,并且…

    other 2023年7月30日
    00
  • MySql创建带解释的表及给表和字段加注释的实现代码

    创建带解释的表及给表和字段加注释,可以帮助开发者更好地了解数据库结构和字段用途,提高数据库的可读性和可维护性。下面是完整的攻略: 创建带解释的表 创建表时,可以添加COMMENT关键字来为表添加注释。示例如下: CREATE TABLE users ( id INT PRIMARY KEY AUTO_INCREMENT COMMENT ‘用户ID’, nam…

    other 2023年6月25日
    00
  • linuxtrace使用入门

    Linux Trace 工具使用入门 Linux Trace 工具可以帮助我们深入分析 Linux 系统的性能问题,它可以记录内核的状态信息并生成统计数据,让我们能够更好的理解系统的运行情况。本文将介绍如何使用 Linux Trace 工具追踪进程运行时的系统调用等行为。 安装依赖 在使用 Linux Trace 工具前,需要安装以下依赖: trace-cm…

    其他 2023年3月29日
    00
合作推广
合作推广
分享本页
返回顶部