数组的倒序与隔位输出(动态数组)

数组的长度是固定的,但是我们往往并不知道一组数据的大小,这个时候再使用数组就会显得很麻烦,而vector (被称为容器),做为C++ 标准库中的一个容器类,表示对象的集合,它可以动态地存储一组元素,所以你可以根据需要轻松地调整 vector 的大小。和输入输出类似,如果想要使用vector, 必须包含头文件vector.
image
容器的创建方式为vector<类型> 名称, 无需指明长度.
image
除此之外,还有一些别的创建方式,常见的有:
image
vector可以动态调整大小,这种调整是通过vector内置的方法push_back动态添加元素来实现的。
image
image
image
在这道题中需要我们建立动态数组:
常见的动态数组建立方法有两种:1.使用new运算符2.使用vector
1.new运算符:
new运算符用于在堆内存上分配内存,返回指向分配内存的指针。动态分配完成需要用delete来释放,避免内存泄漏。
动态数组构建:

点击查看代码
#include<iostream>
#include<vector>
using std::cin;
using std::cout;
using std::endl;
using std::vector;
int main(){
    int size,m;
    cout << "Please input the size of the array:";
    cin >> size;
    //使用new创建动态数组
    int *arr = new int[size];
    cout << "Please input the number:" << endl;
    for(int i = 0;i < size;i++)
    {
        cin >> arr[i];
    }
    for(int i = 0;i < size;i++){
        cout << "arr[" << i << "] = " << arr[i] << endl;
    }
    return 0;
}
使用new运算符的相关代码:
点击查看代码
#include<iostream>
#include<vector>
using std::cin;
using std::cout;
using std::endl;
using std::vector;
int main(){
    int size;
    cin >> size;
    //使用new创建动态数组
    int *arr = new int[size];
    for(int i = 0;i < size;i++)
    {
        cin >> arr[i];
    }
    //倒序输出
    for(int i = size-1;i >= 0;i--){
        cout << arr[i] << " ";
    }
    cout << endl;
    //隔位输出
    for(int i = 0;i < size;i += 2){
        cout << arr[i] << " ";
    }
    return 0;
}

2.使用vector:

点击查看代码
#include<iostream>
#include<vector>
using std::cin;
using std::cout;
using std::endl;
using std::vector;
int main(){
    int size;
    cout << "Please input the size of the array:";
    cin >> size;
    //使用vector创建动态数组(注意后面一定不要用【】)
    vector<int> arr(size);              
    cout << "Please input the number:" << endl;
    for(int i = 0;i < size;i++)
    {
        cin >> arr[i];
    }
    //倒序输出
    for(int i = size-1;i >= 0;i--){
        cout << arr[i] << " ";
    }
    cout << endl;
    //隔位输出
    for(int i = 0;i < size;i += 2){
        cout << arr[i] << " ";
    }
    return 0;
}
posted @ 2025-07-14 19:22  Lè_Sage  阅读(32)  评论(0)    收藏  举报