卡码网语言基础课 | 数组的倒序与隔位输出 6

一、数组

固定大小:数组一旦声明,其大小通常是固定的,不能在运行时动态更改。就好比开设了一个30人的班级,班级大小已经固定,不能再改变班级的规模。
相同数据类型: 数组中的所有元素必须具有相同的数据类型,假设这个班都是男生或者都是女生,只能有一种性别存在。
连续存储: 数组的元素在内存中是连续存储的,班级里的同学按照顺序就坐,中间没有留空位。
下标访问: 数组中的元素通过下标(索引)进行访问,每个人都有一个学号,学号就是自己的座位,这个学号被称为索引,但是数组里的索引是从0开始的,也就是说,第一个元素的索引是0,第二个元素的索引是1,依次类推。

C++中声明数组的方式为dataType arrayName[arraySize]。
dataType表示数组元素的类型,比如intdoublechar等。
arrayName是为数组指定的名称,类似于变量名称。
arraySize是数组的大小,即它可以容纳多少个元素。
// 使用大括号初始化一个长度为5的整型数组
cin >> arr[i];
int arr[5] = {1, 2, 3, 4, 5}; 
for (int i = 0; i < 5; i++) {
    cout << arr[i] << " ";
}

注意,使用数组需要只要确切的个数

二、Vector

如果不清楚元素的确切个数,请使用vector
而vector (被称为容器),做为C++ 标准库中的一个容器类,表示对象的集合,它可以动态地存储一组元素,所以你可以根据需要轻松地调整 vector 的大小。

#include <vector>
using std::vector;
vector<int> myVector; // 创建一个空vector, 元素是int类型的
vector<int> myVector = {1, 2, 3, 4, 5}; // 创建一个包含整数元素的容器并初始化元素
vector<int> myVector(10); // 创建一个包含10个元素的容器,元素为int类型(值被系统默认初始化为0)
vector<int> myVector(10, -1); // 创建一个包含10个重复元素的容器,每个元素的值都是-1
vector<int> myVector = {1, 2, 3, 4, 5};
myVector.push_back(6); // 往容器的最末端添加数字6
int size = myVector.size(); // 获取vector的大小
myVector.pop_back(); // 删除vector末尾的元素
myVector.clear(); // 清空vector中的所有元素
myVector.empty(); // 判断vector是否不含有任何元素,如果长度为0,则返回真,否则,返回假
    while(n--){
        cin >> num;
            nums.push_back(num);
    }

三、array与vector运行速度问题

分别用array和vector解题,发现用array速度更快

这里是引用在这种情况下,vector和array的性能主要差距在于:vector依赖动态分配/释放内存,这是比较耗时的。
array的内存大小固定,编译时直接分配一段栈上/静态存储区内存即可。速度远快于vector。
C++ 中 vector 和 array 性能差异究竟有多大?

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值