首页 > 编程知识 正文

list和vector(arraylist和vector)

时间:2023-05-06 07:41:39 阅读:81693 作者:4762

排列是非常常见的。 我们平时看到的排列一般都有一定的大小。 因此,容易犯标记越境的错误,给实际应用带来困扰。 但是,c标准库提供了一个封装的动态数组—vector。 此外,由于此封装数组可以有不同的类型,因此在调试状态下访问数组元素时可以检查下标越界的错误。

注意: vector不是类,而是类模板。

使用矢量定义动态数组的格式如下:

矢量元素型数组对象名称(数组长度);

尖括号中的类型名称表示数组元素的类型。 数组的长度是表达式,可以包含变量。

e.g.然后定义大小为10的int型动态数组对象arr。

int x=10;

向量机(x;

注意:矢量定义的数组对象的所有元素都将被初始化。

如果数组的元素类型为基本数据类型,则所有元素都初始化为0。 如果数组元素是类类型,则调用类的缺省构造函数初始化。 因此,如果要将矢量动态数组定义为类类型,则必须确保作为数组元素的类具有缺省构造函数。 另外,初始值也可以自己指定,但所有要素只能指定相同的初始值。 型号如下。

矢量元素型数组对象名称(数组长度、元素初始值);

访问矢量数组对象元素的方法与常规数组的格式相同。

阵列对象名称[下标表达式]

但是,矢量数组对象的名称表示数组对象,而不是数组的起始地址。 因为数组对象不是数组,而是封装数组的对象。

vector应用举例:

#包含iostream

# #包括向量机

单一名称空间固态硬盘;

双平均(概念向量机)。

双和=0;

for (无符号I=0; iarr.size (; I ) )

求和=弧度;

返回和/数组.大小(;

}

int主() )

{

无符号n;

计数=';

cinn;

向量缓冲器(n; //创建对象数组

出口输入实际编号:结束;

for (无符号I=0; in; I ) )

cinarr;

平均='平均(arr )结束;

返回0;

}

执行结果:

n=5

前置输入5实际编号:

1.2 3.1 5.3 7.9 9.8

平均=5.46

此示例在主函数中创建动态数组arr,通过键盘输入向数组元素赋值,并调用average函数计算数组元素的平均值。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。