如何在C++中更新现有双链表中的一个变量



我有一个pelmanism游戏要编码。该游戏具有多人游戏的特点,可以跟踪玩家的分数。然而,我需要帮助来了解如何更新现有双链表中的一个现有变量,从另一个类调用。

以下是我尝试过的一些东西:

  • 使用搜索算法搜索节点的特定index,然后调用updateNode更新temp->score=(temp->score)+2,但我无法从memoryGame(调用方(内部访问在addNode(int index, string n, int score)中创建的现有双链表。当我调用display()时,它返回一个空列表。我从main函数创建了节点,并在类之外调用addNode函数

有关游戏的一些信息:

  • memoryGame类处理游戏的执行
  • ADTqueue处理节点的初始化
  • 不在类中的其余函数用于处理节点(addsortdisplay目的(
  • 双链表是在addNode函数中创建的(在所有类之外(
  • 游戏接受用户输入:游戏难度level和玩家人数qty

这是主代码,包括游戏发生的类和另一个管理双链表的类。https://github.com/addinaamiruddin/Multiplayer-Card-Game-with-Player-Details/blob/main/MAIN-GAME.cpp

我很想听听关于如何处理这个问题的建议。提前感谢那些决定帮助我调查的人,我真的很感激。

由于您有头和索引,只需在链接列表中搜索该特定节点即可。如果不需要双链表,那么我建议使用std::vector

node* getNodeByIndex(int index){
node *current = head;
int count = 0;
while(current != nullptr){
if(count == index){
return current; // returns searched node.
}
count ++;
current = current->next;
}
return nullptr;
}

相关内容

最新更新