嘿,刚刚为即将到来的考试做一些修改,我正在看过去的论文。
我被要求为此编写类实现:
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
};
我理解堆栈的理论,我知道这些方法必须做什么,让我困惑的一点是传递给堆栈的整数存储在哪里,这是如何完成的?也许我错过了一些简单但又难倒的东西?
答案 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];
等等。