Как создать список в многомерном массиве / сетке Переполнение стека

Я достиг камень преткновения в моей программе. Я программирую на C ++ и использую OpenGL для графики. Я хочу разделить пространство с помощью сетки (представленной двумерным массивом — grid [rows] [cols]). Сетка будет иметь «ячейки» в каждом индексе.

Внутри этой сетки и в каждом месте INDEX, т. Е. Grid [0] [0], я хочу, чтобы список идентификаторов объектов (значений int) собирался по мере их перемещения в каждую ячейку сетки. Список в сетке указателей [0] [0] должен обновляться в режиме реального времени / динамически с движущимися объектами на экране.

Я хочу получить идентификаторы объекта, когда они заполняют список для проверки столкновения позже.

Наглядно это должно выглядеть следующим образом:

Сетка Массив

+[0] [0] -> Список []

+[0] [1] -> Список []

+[0] [2] -> Список []

+[0] [3] -> Список []

+[1] [0] -> Список []

+[1] [1] -> Список [] …и так далее

Есть ли способ сделать это в C ++? Кажется, что Java может создавать новые массивы в точках массива, как мне нужно … должен быть способ?

Хеш-таблицы, связанные списки находятся у меня над головой … но если это то, что мне нужно знать, пожалуйста, дайте мне знать, и я рассмотрю их более подробно …
Спасибо заранее.

0

Решение

Попробуйте вот так:

#include <iostream>
#include <vector>
#include <list>
using namespace std;

// some data
struct DATA
{
int x;
};

int main()
{
vector<vector<list<DATA>>> matrix_of_lists;
matrix_of_lists.resize(2);
matrix_of_lists[0].resize(2);
matrix_of_lists[1].resize(2);

DATA d;
d.x = 1;
matrix_of_lists[0][0].push_back(d);

cout << matrix_of_lists[0][0].front().x;
}
0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]