首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

在C++中存储不同长度的子数组

在C++中存储不同长度的子数组可以使用动态数组或者向量(vector)来实现。

动态数组是一种可以在运行时调整大小的数组。在C++中,可以使用new运算符来动态分配内存,并使用delete运算符释放内存。以下是一个示例代码:

代码语言:txt
复制
int main() {
    int n;
    cout << "请输入子数组的个数:";
    cin >> n;

    int** subArrays = new int*[n]; // 创建一个指针数组,用于存储子数组的指针

    for (int i = 0; i < n; i++) {
        int length;
        cout << "请输入第" << i+1 << "个子数组的长度:";
        cin >> length;

        subArrays[i] = new int[length]; // 创建一个长度为length的子数组
        cout << "请输入第" << i+1 << "个子数组的元素:";
        for (int j = 0; j < length; j++) {
            cin >> subArrays[i][j]; // 输入子数组的元素
        }
    }

    // 输出子数组的内容
    for (int i = 0; i < n; i++) {
        int length = sizeof(subArrays[i]) / sizeof(int); // 获取子数组的长度
        cout << "第" << i+1 << "个子数组的内容:";
        for (int j = 0; j < length; j++) {
            cout << subArrays[i][j] << " ";
        }
        cout << endl;
    }

    // 释放内存
    for (int i = 0; i < n; i++) {
        delete[] subArrays[i];
    }
    delete[] subArrays;

    return 0;
}

向量(vector)是C++标准库中提供的一种动态数组容器。它可以自动调整大小,并提供了一系列方便的成员函数来操作数组。以下是一个使用向量存储不同长度子数组的示例代码:

代码语言:txt
复制
#include <iostream>
#include <vector>
using namespace std;

int main() {
    int n;
    cout << "请输入子数组的个数:";
    cin >> n;

    vector<vector<int>> subArrays; // 创建一个二维向量,用于存储子数组

    for (int i = 0; i < n; i++) {
        int length;
        cout << "请输入第" << i+1 << "个子数组的长度:";
        cin >> length;

        vector<int> subArray(length); // 创建一个长度为length的子数组
        cout << "请输入第" << i+1 << "个子数组的元素:";
        for (int j = 0; j < length; j++) {
            cin >> subArray[j]; // 输入子数组的元素
        }

        subArrays.push_back(subArray); // 将子数组添加到二维向量中
    }

    // 输出子数组的内容
    for (int i = 0; i < subArrays.size(); i++) {
        cout << "第" << i+1 << "个子数组的内容:";
        for (int j = 0; j < subArrays[i].size(); j++) {
            cout << subArrays[i][j] << " ";
        }
        cout << endl;
    }

    return 0;
}

以上代码示例中,我们使用动态数组和向量分别存储了不同长度的子数组,并演示了如何输入和输出子数组的内容。在实际应用中,可以根据具体需求选择合适的数据结构来存储不同长度的子数组。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

领券