Я пытаюсь сохранить клеточную структуру в C ++, где ее элементы могут иметь массивы различной длины, как в следующем примере:
myMultiSizedArray = {
{ 1, 2, 4 },
{ 3, 5, 6, 7 },
{ 7, 8, 9, 10 },
{ 1, 3 },
{ 4, 5, 8 },
{ 9, 10 }
{ 5 } }
Я думаю об использовании вектора в struct
такие как следующее:
struct f
{
std::vector<int> elements;
};
std::vector<f> myMultiSizedArray;
Я был бы признателен, если бы сообщество могло дать мне свой отзыв. Есть ли лучшие, более эффективные подходы? Предоставляет ли C ++ средство для этого? Спасибо
Как упоминалось другими пользователями в качестве комментария, вы можете использовать вектор внутри другого вектора, как показано в следующем фрагменте кода:
using namespace std;
vector<vector<int>> myMultiSizedArray;
myMultiSizedArray.push_back({ 1, 2, 3, 4 });
myMultiSizedArray.push_back({ 6, 5, 200, 3, 2, 1 });
использовать «вектор< вектор< int>> «лучше