有人問我這個類,但我們跑出來的時間,我似乎無法找到任何關於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
需要更多的上下文。我第二個凱文的問題。 我不知道這個問題可以按原樣回答。 –