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

带你了解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日

相关文章

  • 服务器重启不能启动的几种常见的解决方法

    如果服务器无法启动或者出现故障,我们需要采取一些措施来修复它。本文将介绍一些服务器重启不能启动的常见原因以及解决方法。 1. 网络故障 首先,要检查网络连接是否正常,因为网络连接是服务器正常运行的基础。检查电缆、交换机和路由器是否连接正常,保证网络连接正常后,我们可以尝试使用ping命令检查网络状态。 ping www.example.com 如果我们能够接…

    other 2023年6月26日
    00
  • mysql 5.7.11 安装配置教程

    MySQL 5.7.11 安装配置教程 MySQL是一种关系型数据库管理系统,广泛应用于各种类型的应用程序。本文将介绍如何在Windows 10系统中安装配置MySQL 5.7.11。 安装MySQL 5.7.11 步骤1:下载MySQL 5.7.11 通过MySQL官网(https://dev.mysql.com/downloads/mysql/5.7.h…

    other 2023年6月27日
    00
  • VFP与其他应用程序的集成

    为了将VFP与其他应用程序进行集成,可以使用多种方法和技术。下面详细讲解一下几种集成方法和技术。 使用OLE和COM对象 OLE和COM对象是一种常用的集成方法,可将VFP应用程序连接到其他应用程序。下面是一个示例,将VFP与Word应用程序进行集成。 步骤一:创建Word文档 在Word中创建一个新文档,然后保存在本地计算机上。文档路径可以在后面的代码中使…

    other 2023年6月25日
    00
  • 帝国CMS数据库配置文件是哪个文件?

    要了解帝国CMS的数据库配置文件,我们需要先来了解一下配置文件的概念。 配置文件是什么? 配置文件是应用程序中的一个文本文件,用于保存应用程序与所依赖的其他组件之间的参数和选项的信息。它们通常以定义的格式编写,与应用程序的逻辑和代码独立。 帝国CMS数据库配置文件 帝国CMS通过配置文件来连接数据库。该配置文件位于网站根目录下的/data/config/db…

    other 2023年6月25日
    00
  • Java类继承关系中的初始化顺序实例详解

    Java类继承关系中的初始化顺序实例详解 一、前言 在Java类继承关系的实例化过程中,子类的初始化会涉及到父类的初始化,这个过程的顺序往往会影响程序的执行结果。本文将详细讲解Java类继承关系中的初始化顺序。 二、初始化顺序 在Java中,类和对象的初始化有以下几种情况: 静态代码块(只在类加载时执行一次) 非静态代码块(每次创建对象时都会执行) 构造方法…

    other 2023年6月20日
    00
  • Java NIO实现多人聊天室

    Java NIO(New IO)是Java 1.4版本新增的一组IO API,是Java提供的非阻塞IO解决方案。Java NIO通过Channel、Buffer、Selector等新的概念,提供高速的、可扩展的、非阻塞的IO操作方式,使其能够轻松地实现高性能的网络应用程序。下面将详细介绍如何使用Java NIO实现多人聊天室。 1. 需求分析 我们需要实现…

    other 2023年6月27日
    00
  • 基于vue-cli npm run build之后vendor.js文件过大的解决方法

    一、背景介绍 在使用vue-cli进行项目开发时,当使用npm run build命令对代码进行打包时,会生成一个vendor.js文件,这个文件包含了所有第三方库的代码,而且这个文件可能会非常大,甚至占据整个打包后文件的很大一部分,这会导致页面加载速度缓慢,影响用户体验。本文将介绍几种解决这个问题的方法。 二、解决方法 按需引入第三方库 在进行项目开发时,…

    other 2023年6月27日
    00
  • jQuery给元素添加样式的方法详解

    jQuery给元素添加样式的方法详解 1. 使用css()方法 css()方法是jQuery中常用的方法,用于给元素添加样式。它可以接受一个CSS属性及其值的键值对,并将其应用于选中的元素。 语法: $(selector).css(property, value); selector:用于选择元素的jQuery选择器。 property:CSS属性的名称。 …

    other 2023年6月28日
    00
合作推广
合作推广
分享本页
返回顶部