首页
学习
活动
专区
工具
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;
}

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

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

相关·内容

4分9秒

07-Servlet-2/08-尚硅谷-Servlet-斜杠在web中的不同意义

9分14秒

063.go切片的引入

6分7秒

070.go的多维切片

6分33秒

048.go的空接口

11分33秒

061.go数组的使用场景

2分55秒

064.go切片的内存布局

2分17秒

Elastic 5分钟教程:使用Logs应用搜索你的日志

3分25秒

Elastic-5分钟教程:使用Elastic进行快速的根因分析

11分52秒

QNNPack之间接优化算法【推理引擎】Kernel优化第05篇

1.1K
18秒

四轴激光焊接示教系统

7分8秒

059.go数组的引入

46分33秒

雁栖学堂-湖存储专题直播第九期

领券