2011-04-27 77 views
0

嘿,只是为即将到来的考试做一些修改,我在看过去的论文。整数的有界堆栈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 
}; 

我明白堆栈的理论,我知道的方法必须做的,是混淆我的位在哪里是整数被传递到存储的堆栈,这是如何完成的?也许我错过了一些真正简单的东西,但我很难过?

+4

'int * cell; //指向存储在堆栈中的元素的指针 - 关于此评论的任何内容都不清楚?它在一个动态分配的数组中。 – Xeo 2011-04-27 15:05:02

+1

它们存储在单元格中,这是一个指向整数的指针,你可以用它指向一个整数数组。 – atoMerz 2011-04-27 15:06:42

回答

2

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

3

我猜你int * cell为线索,它是一个指针到一个数组,所以你初始化它是这样int * cell = new int[size];

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

0

的整数被存储在堆,而“底部”元素存储在

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

第二在

s.cell[1]; 

等。