有界堆栈的整数C ++

时间:2011-04-27 15:03:41

标签: c++

嘿,刚刚为即将到来的考试做一些修改,我正在看过去的论文。

我被要求为此编写类实现:

class Stack
{
    public:
        Stack(int n=1);
        int pop();
        void push(int);
        int isEmpty();
        int isFull();
        ˜Stack();
    private:
        int top; // index of element at top of stack
        int size; // maximum number of elements storable
        int * cell; // pointer to elements stored in stack
};

我理解堆栈的理论,我知道这些方法必须做什么,让我困惑的一点是传递给堆栈的整数存储在哪里,这是如何完成的?也许我错过了一些简单但又难倒的东西?

3 个答案:

答案 0 :(得分:3)

我猜你的int * cell是线索,它是指向数组的指针,所以你要将它初始化为int * cell = new int[size];

现在您可以使用cell作为动态数组的索引。

答案 1 :(得分:2)

我不会将其命名,或者可能以这种方式实现它,但int * cell是您的项目所在。我假设他们希望您在实例化堆栈时将其初始化为size数组。

答案 2 :(得分:0)

整数存储在堆上,'bottom'元素存储在

Stack s(5);
s.cell[0];

的第二个
s.cell[1];

等等。