【发布时间】:2015-02-04 18:52:38
【问题描述】:
我被分配了一项任务,我正在努力弄清楚我应该如何实施它。
我已将作业中令我困惑的部分粘贴在下方
编写一个双端队列类来保存整数列表,该列表在内部使用循环数组实现。数组的大小可以在构造函数中传递,或者您可以决定默认值。该类将维护保存列表头部和尾部索引位置的数据成员 该类应具有成员函数:
• bool isEmpty();
• bool isFull();
• bool insertFront(int)
• bool removeFront(int&)
• bool insertBack(int)
• bool removeBack(int&)打印数组中的所有项,从前面一次删除一项。
所以我已经编写了我所有的函数并让双端队列正常工作,我遇到的困难是:
“数组的大小可以在构造函数中传递” 所以为了实现这一点,我在我的类中声明了一个名为 array 的指针,然后在我的构造函数中声明了 array = new int[size],这是做到这一点的唯一方法,我很高兴它可以工作,但不确定是否有更好的解决方案.我在考虑矢量,但认为那太容易了。我也可以为大小声明一个 const 并在我的类中初始化数组,但同样简单。
bool removeFront(int&)和bool removeBack(int&)函数真的让我很困惑,我应该传入什么引用?返回类型也是bool,但是在作业的后面,我被要求“通过从前面一次删除一个来打印数组中的所有项目”我如何使用bool的返回类型而不是int来做到这一点?
我已经更改了我的函数以删除引用并具有 int 的返回类型以使代码工作,但想知道如何按照分配要求的方式实现它?
【问题讨论】:
标签: c++ deque circular-buffer