有人问我这个类,但我们跑出来的时间,我似乎无法找到任何关于interweb全面。如果我用括号初始化一个数组,这与创建一个数组的栈类有什么不同?数组和堆栈之间的区别?
随着堆我在实际初始化数组作为典型的做法如int数组[5] {1,2,3,4,5}还是我只是初始化指针在存储器中的一些空间,存储一些数据那里,并使用堆栈的成员函数来操作和操作数据?
class IntStack
{
public:
IntStack(int num) { top = 0; maxelem = num; s = new int[maxelem]; }
void push(int t)
{
if (top == maxelem) return;
s[top++] = t;
}
int pop()
{
if (top == 0) return -1;
return s[--top];
}
void display()
{
if (top == 0) { cout << "(empty)\n"; return; }
for (int t=0 ; t < top ; t++) cout << s[t] << " ";
cout << "\n";
}
int empty() { return top == 0; }
private:
int *s;
int top;
int maxelem;
这是我们写下的代码。我试图理解堆栈使用数组实现和不同的数组容器。
编辑:
这是想通了,这是我在当时的过程混乱。教授试图向我们展示STL容器是如何通过让我们创建自己的容器来实现的,这个问题是特定于教室的,因为我们使用数组创建了自己的“堆栈”。一个堆栈是一个LIFO结构,这是一个测试问题,要求我们辨别C++数组和我们在课堂上创建的“数组堆栈”之间的区别。在这个问题的时候我误解了,并且认为数组堆栈是C++标准的东西。
我试图让我的得分如此如此,我可以张贴另一个问题,我不知道我是否应该删除的问题或编辑它们更好地站立获得。
你说的“栈类阵列的”呢?你能举个例子吗? – Kevin
这些术语听起来像是你的教室特有的。您可能想要让您的教授在课外澄清,或者在下一堂课开始时提出。 – Xirema
需要更多的上下文。我第二个凯文的问题。 我不知道这个问题可以按原样回答。 –