我有要求删除堆栈中的空元素的作业吗?但我认为在我定义结构的情况下,在堆栈中使用null元素是不可能的:
struct element{
type value;
element* next;
}
element
只有在最后一个时才指向null。
我非常感谢任何帮助。 非常感谢。
答案 0 :(得分:3)
对于堆栈的元素内容,您不需要特殊的结构或类。您的element struct
看起来更像是单向链接列表中使用的内容。
从堆栈中删除空值:创建第二个临时stack
。 Pop
来自第一个stack
的元素逐一null
丢弃它们。如果没有,请push
将它们添加到新stack
。要保留与启动时项目相同的LIFO顺序,您需要从临时堆栈填充新堆栈或原始堆栈。
当您浏览完原始堆栈中的所有元素后,您将获得分配所需的内容。删除了所有null元素的堆栈。