堆栈函数的实现在哪里?

时间:2011-09-02 15:16:35

标签: c++ stack

我正在学习data structures and algorithms。我的老师告诉我以下内容:

  

push():push在堆栈中插入一个元素

     

pop():pop删除堆栈中最后插入的元素

     

size():返回堆栈中元素的数量

     

isempty():返回一个布尔值,指示堆栈是否为空

     

top():返回堆栈的顶部元素,而不删除它;如果stack为空,则返回错误。

这些功能的实现在哪里?这些是built-in functions的C ++吗?

5 个答案:

答案 0 :(得分:5)

这些是std::stack的成员函数,它是C ++标准库中的容器类(模板)。

您可以在<stack>标题文件中找到该实现。

[请注意,它是empty(),而不是isempty()。]

答案 1 :(得分:5)

您的老师正在解释通用堆栈数据结构的可用功能。这些功能并没有特别实现,因为你的老师并没有谈论任何特定的堆栈。你的老师甚至没有谈论C ++。现在你只是在了解堆栈是什么:它们是可以用任何语言实现的抽象数据结构。它们是先进先出的容器。在课程的后面,您将学习队列列表以及各种各样的其他抽象数据结构。在后面的课程中,您的老师可能会演示如何实现上面列出的功能。演示甚至可能是在C ++中。

答案 2 :(得分:1)

std :: stack - 它在标准库中,它是c ++的“部分”,虽然它不是“内置函数”

答案 3 :(得分:0)

要使用stl,您必须在文件中包含全部或部分内容,或在每次使用时引用stl。

以下是STL实现的链接: http://www.sgi.com/tech/stl/download.html

答案 4 :(得分:0)

如果您想弄清楚如何创建自己的模板类和函数,请参阅

如果您想了解如何实现堆栈,以及堆栈,请阅读

如果您想了解有关C ++ STL中容器的更多信息,请阅读以下内容:

希望这些参考资料可以帮助您提出更具体的问题或要求澄清您尚未理解的内容......