我试图弄清楚如何清除堆栈(以链表的形式)。链表不是我的强项。我完全不理解他们。这是我的代码,任何人都可以解释为什么它不起作用?当我尝试通过 main 中的开关调用该方法时,它似乎也陷入了无限循环。
void stack :: clearStack()
{
if (isEmpty()== true)
{
cout << "\nThere are no elements in the stack. \n";
}
else
{
node *current = top;
node *temp;
while(current != NULL);
{
current = temp -> next;
delete current;
current = temp;
}
}
}