初识C++ Vector模板与实例化原理

初识C++ Vector模板与实例化原理

什么是Vector模板

Vector是C++ STL库提供的一种数据结构,是动态数组的一个实现。它可以在运行时动态调整容器大小,并且可以快速随机访问元素。

在C++里,vector是一个模板类,可以存储任意类型的元素。

vector模板的实例化

Vector是一个模板,需要在使用前被实例化,并且实例化时需要指定数据类型,例如:

vector<int> vecInt;    // 实例化一个空的int类型的vector
vector<string> vecStr; // 实例化一个空的string类型的vector

Vector模板的基本操作

插入和删除元素

vecInt.push_back(3);     // 在vector尾部插入元素3
vecInt.insert(0, 2);     // 在vector下标0插入元素2
vecInt.pop_back();       // 删除vector尾部元素
vecInt.erase(0);         // 删除vector下标0的元素

访问元素

int num = vecInt[0];     // 访问下标0的元素
int size = vecInt.size(); // 返回vector包含元素的数量

迭代器操作

vector<int>::iterator itor = vecInt.begin(); // 返回vector的起始迭代器
vector<int>::iterator itorEnd = vecInt.end(); // 返回vector的终止迭代器

for(itor;itor!=itorEnd;itor++) //遍历整个vector
{
    cout<<*itor<<endl;
}

int num2 = *(vecInt.begin() + 2); // 通过迭代器访问vector中的元素

示例1:使用Vector模板实现斐波那契数列

vector<int> Fibonacci;
Fibonacci.push_back(0);
Fibonacci.push_back(1);
for (int i = 2; i < 10; i++)
{
   Fibonacci.push_back(Fibonacci[i - 1] + Fibonacci[i - 2]);
}

示例2:使用Vector模板实现字符串逆序

string str = "hello world";
vector<char> vecStr(str.begin(), str.end());
reverse(vecStr.begin(), vecStr.end());
string result(vecStr.begin(), vecStr.end());
cout<<result<<endl;

以上就是初识C++ Vector模板与实例化原理的攻略,希望可以帮助大家更好地应用Vector模板。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:初识C++ Vector模板与实例化原理 - Python技术站

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

相关文章

  • 理解Javascript_11_constructor实现原理

    理解Javascript_11_constructor实现原理 什么是constructor 在 JavaScript 中,每一个函数都有一个特殊的属性叫做 constructor。这个属性指向的是函数的构造器。 例如,我们定义一个叫做 Person 的构造器函数: function Person(name) { this.name = name; } 那么…

    other 2023年6月26日
    00
  • Android开发准确获取手机IP地址的两种方式

    Android开发准确获取手机IP地址的两种方式 在Android开发中,有时候我们需要获取手机的IP地址来进行网络通信或者其他操作。下面将介绍两种准确获取手机IP地址的方式。 1. 使用WifiManager获取IP地址 WifiManager是Android系统提供的一个用于管理Wi-Fi连接的类。通过WifiManager,我们可以获取到当前连接的Wi…

    other 2023年7月30日
    00
  • Android百度地图应用之创建显示地图

    下面是详细讲解”Android百度地图应用之创建显示地图”的完整攻略。 准备工作 在进行百度地图的开发之前,我们需要先进行以下的准备工作: 注册百度开发者账号,进入百度开发者平台进行注册; 创建应用并获取AK,进入控制台,创建应用并获取AK; 下载Android SDK,并进行安装。 创建项目 打开Android Studio,创建一个新项目; 在”Proj…

    other 2023年6月27日
    00
  • FreeRTOS实时操作系统的任务概要讲解

    一、FreeRTOS实时操作系统概述 FreeRTOS是一个功能强大、灵活可靠且开源的实时操作系统。它支持多任务、多线程,并且可以运行于各种不同的嵌入式系统平台上。该系统具有以下特性: 内核位置独立,支持多种处理器架构; 轻量级设计,不需要特定硬件支持; 多任务支持,可以支持多个任务同时运行; 支持多种不同的调度算法; 支持不同类型的信号量、消息队列等同步机…

    other 2023年6月27日
    00
  • Android自定义流式布局/自动换行布局实例

    Android自定义流式布局/自动换行布局实例攻略 在Android开发中,有时我们需要实现一种自定义的布局,能够自动换行并适应不同的屏幕尺寸。这种布局被称为流式布局或自动换行布局。下面是一个详细的攻略,包含两个示例说明。 步骤1:创建自定义布局类 首先,我们需要创建一个自定义的布局类,继承自ViewGroup。这个类将负责管理子视图的位置和大小。 publ…

    other 2023年9月5日
    00
  • Win11按capslock无法切换大小写 Win11按capslock无法切换大小写解决方法

    Win11按capslock无法切换大小写解决方法攻略 问题描述 在Windows 11操作系统中,有些用户可能会遇到按下Caps Lock键无法切换大小写的问题。本攻略将提供解决此问题的方法。 解决方法 以下是解决Win11按Caps Lock无法切换大小写的两种方法示例: 方法一:修改注册表 打开“运行”对话框,可以通过按下Win + R键组合来快速打开…

    other 2023年8月16日
    00
  • 云原生Kubernetes初始化容器Init使用教程

    云原生Kubernetes初始化容器Init使用教程 什么是Init容器 Kubernetes中的Init容器是POD启动时,在容器的其他应用容器启动之前运行的第一个容器。它的主要作用是负责容器的初始化工作,比如设置环境变量、配置、数据卷等,以便其他容器运行时可以直接使用。 Init容器使用方法 编写Init容器的yaml文件 示例1:设置环境变量 在POD…

    other 2023年6月20日
    00
  • Hadoop自学系列集(三) — Hadoop安装

    Hadoop自学系列集(三)—Hadoop安装的完整攻略 本文将为您提供Hadoop安装的完整攻略,包括环境准备、Hadoop安装、配置、启动和测试,以及两个示例说明。 环境准备 以下是Hadoop安装前的环境准备: 安装Java JDK。 下载Hadoop安装包。 Hadoop安装 以下是Hadoop安装的步骤: 解压Hadoop安装包。 配置Hado…

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