链接列表在C ++中实现堆栈

时间:2014-09-13 21:36:51

标签: c++ oop syntax linked-list stack

所以我猜我的问题有点愚蠢,但我们刚刚开始链接列表,堆栈和队列,而且我在语法方面感觉有点迷失。

我有一个工作链表结构,添加到后面和前面,推送,弹出,删除等。但是当我在堆栈实现中调用这些函数时,我会迷失方向。 Linked List类声明位于头文件中,其中包含.cpp文件中的函数定义。堆栈是完全相同的故事。我们已经给出了带有函数声明的头文件,我们需要在一个单独的.cpp文件中编写自己的定义。

我的问题在于调用堆栈函数中的链表函数。堆栈包括“LList数据”(链表结构称为LList);指向整数的指针(我假设)“int * data”和整数跟踪堆栈的顶部“int t”

我们要编写的函数是构造函数,析构函数,pop,push和size函数。我会给出源代码,但它根本没有任何重要意义。

我希望我的问题可以被理解> _< 提前致谢 卡梅伦

1 个答案:

答案 0 :(得分:1)

堆栈只是一个具有不同接口功能的链表。您只需要能够将push元素添加到" top"堆叠,以及顶部的pop

您的Stack类实现看起来像是您已经拥有的LList类的包装器。

没有进入细节(没有查看代码,这有点难),

  1. 您有一个Stack类,其中LList作为成员变量(最好是私有)。
  2. 您的push函数应该只是插入链接列表的尾部。
  3. 您的pop函数应删除链接列表尾部的最后一个元素
  4. 您的~Stack实施应删除您创建的LList对象;如果使用智能指针,则可以跳过此步骤;如果使用delete手动创建对象,则可以使用new关键字。
  5. 更多代码将有助于完善此答案。