删除堆栈中的null元素

时间:2013-01-27 22:19:10

标签: c++ data-structures null linked-list stack

我有要求删除堆栈中的空元素的作业吗?但我认为在我定义结构的情况下,在堆栈中使用null元素是不可能的:

struct element{
  type value;
  element* next;
}

element只有在最后一个时才指向null。

我非常感谢任何帮助。 非常感谢。

1 个答案:

答案 0 :(得分:3)

对于堆栈的元素内容,您不需要特殊的结构或类。您的element struct看起来更像是单向链接列表中使用的内容。

从堆栈中删除空值:创建第二个临时stackPop来自第一个stack的元素逐一null丢弃它们。如果没有,请push将它们添加到新stack。要保留与启动时项目相同的LIFO顺序,您需要从临时堆栈填充新堆栈或原始堆栈。

当您浏览完原始堆栈中的所有元素后,您将获得分配所需的内容。删除了所有null元素的堆栈。