
C++ (pointry)
Zdravím,
Už zase jsem se zamotal do pointrů v c++. Potřeboval bych poradit, jak by šel udělat vektor, který obsahuje nějaké uzly. Potom vytáhnu ukazatel na uzel ve vektoru a přiřadím jej jiném objektu.
Příklad:
vector<Node> vNode = vector<Node>(0);
Game game = Game(s,&Coord(r-1,p-1));
Node n = Node(game);
vNode.push_back(n);
addGames(vNode[0].getGame().dalsiTah(),&vNode,&vNo de[0]);
...
int addGames(vector<vector<Game> > game, vector<Node>* tr,Node* parent)
{
tr->push_back(Node(game[i][j],parent));
return 0;
}
objekt Node by si potom měl držet v privátní proměnné ukazatel na parent. Avšak tomu tak není :(. Když jsem metodu addgames volal
addGames(vNode[0].getGame().dalsiTah(),&vNode,&n); // už ne přes vector, ale přímo ukazatel na Node (poslední parametr)
tak vše fungovalo podle očekávání. Vzhledem k tomu, že Nodeů mám velké množství, navíc se generují při běhu, tak nemůžu problém obejít podle 2. postupu. Potřebuji to udělat nějak přes ten vector nebo tomu podobně.
Díky za radu
Petr
Este posledne info :) To co chces asi nakoniec dosiahnut sa vola datova struktura strom (tree) http://en.wikipedia.org/wiki/Tree_%28data_structur e%29 skus googlit mozno najdes uz aj nejake lepsie napady na implementaciu. A metody na prechadznie stromu atd. Ale neni to zlozite pride na to clovek aj sam ze jak prechadzet strom a jak ho implemetovat.