C++ 数组(vector)常用操作总结 您所在的位置:网站首页 sonywf1000xm5操作方法 C++ 数组(vector)常用操作总结

C++ 数组(vector)常用操作总结

2024-03-04 14:16| 来源: 网络整理| 查看: 265

目录

1、vector对象的定义和初始化方式

2、vector 常用基础操作

3、使用迭代器的遍历、插入、删除操作

4、vector 元素的重排操作(排序、逆序等)

5、vector 中找最值

6、改变vector大小 及其 内存分配机制

7、vector数组 与 内置数组 的选择问题

1、vector对象的定义和初始化方式

常用的初始化方式及作用如下:

vector 中的数据类型 T 可以代表任何数据类型,如 int、string、class、vector(构建多维数组) 等,就像一个可以放下任何东西的容器,因此 vector 也常被称作容器。字符串类型 string 也是一种容器,c++ 中的不同种类的容器拥有很多相同的操作,因此 string 的很多操作方法可以直接用在 vector 中。

vector v1v1 是一个元素类型为 T 的空 vectorvector v2(v1)使用 v2 中所有元素初始化 v1vector v2 = v1同上vector v3(n, val)v3 中包含了 n 个值为 val 的元素vector v4(n)v3 中包含了 n 个默认值初始化的元素vector v5{a, b, c...}使用 a, b, c... 初始化 v5vector v1同上

vector matrix(M,vector(N));

二维数组初始化 2、vector 常用基础操作

 下表列出了 添加元素、查询、索引、赋值、比较 等常用操作方法。

v.empty()如果 v 为空则返回 true,否则返回 falsev.size()返回 v 中元素的个数v.push_back(val)

向 vector 的尾端添加值为 val 的元素。

注意:vector 不支持 push_front 操作。

v.pop_back(val)

删除尾元素,返回void。vector同样 不支持 pop_front 操作。若想在同时弹出元素的值,就必须在执行弹出之前保存它(可以使用 v.back())。

v[n]返回 v 中第 n 个位置上元素的引用,不能用下标操作添加元素v.back()返回 v 中最后一个元素的引用v.front()返回 v 中第一个元素的引用v1 = v2用 v2 中的元素替换 v1 中的元素v1 = {a, b, c...}用元素 {a, b, c...} 替换 v1 中的元素v1 == v2当且仅当拥有相同数量且相同位置上值相同的元素时,v1 与 v2 相等v1 != v2自行体会=以字典序进行比较 3、使用迭代器的遍历、插入、删除操作

迭代器类似于指针,提供了对象的间接访问,但获取迭代器并不是使用取地址符。如果将指针理解为元素的“地址”,那么迭代器可以理解为元素的“位置”。可以使用迭代器访问某个元素,迭代器也能从一个元素移动到另一个元素。

一个迭代器的范围由一对迭代器表示,分别为 begin 和 end。其中 begin 成员返回指向第一个元素的迭代器;end 成员返回容器最后一个元素的下一个位置(one past the end),也就是指向一个根本不存在的尾后位置,这样的迭代器没什么实际含义,仅是个标记而已,表示已经处理完了容器中的所有元素。所以 begin 和 end 表示的是一个左闭右开的区间 [ begin , end)

迭代器可以用来实现容器的遍历、插入等操作,可以细品下面的例子:

1、遍历

#include #include #include using namespace std; int main(void) { vector a{"0", "1", "2", "3", "4", "5", "6", "7", "8"}; auto it = a.begin(); // 返回一个迭代器类型,一般来说我们并不关心迭代器具体的数据类型 while(it != a.end()) { cout


【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有