c++中一组分组数据的数据结构

Data structure for a group of grouped data in C++

本文关键字:数据 数据结构 一组 c++      更新时间:2023-10-16

我需要创建一组分组数据。每个内部组的大小不一样。我应该能够使用索引访问任何组中的任何成员。在c++中可以使用哪种数据结构?

如果你所有的数据都是相同的类型,你可以使用向量的向量,例如

std::vector< std::vector<YourDataType> >

你需要添加更多的信息。组是如何存储的?如果每个组都是一个数组,则可以使用数组的数组,即(type)**AoA, AoA的每个索引将指向包含底层组的数组。例如:

#include <stdlib.h>
int main()
{
   int group1[3] = {1,2,3};
   int group2[3] = {4,5,6};
   int** groupArray = (int**)malloc(sizeof(int*) *2);
   groupArray[1] = group1;
   groupArray[2] = group2;
   return 0;
}

因为是c++,所以向量的向量是更好的选择,但概念是一样的。此外,请阅读"b树"—这是存储您所要求的内容的好方法,但这取决于组本身的存储方式。