Вам нужно добавить больше информации.Как хранятся группы?Если каждая группа является массивом, вы можете использовать массив массивов, то есть (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-Trees» - это хороший способ хранить то, что вы просите, но это зависит от того, как сами группы хранятся.