【发布时间】:2019-10-28 08:57:03
【问题描述】:
输出为:100 100
应该是:9 100
我已经调用了两次push。当我调用print时,输出是错误的。
int main(){
int i=9;
Stackc s;
s.push(i);
i=100;
s.push(i);
s.print();
return 0;
}
这是.h文件
class Stackc{
int arr[100];
int iTop;
public:
int top();
void push(int i);
void pop();
void print();
Stackc();
};
这是构造函数
Stackc::Stackc(){
iTop=-1;
for(int i=0;i<100;i++)
arr[i]=0;
}
这个函数将一个元素压入堆栈
void Stackc::push(int i){
iTop++;
arr[iTop]=i;
}
这是用于打印堆栈
void Stackc::print(){
for(int i=0;i<=iTop;i++)
cout<<arr[iTop]<<" ";
cout<<endl;
}
【问题讨论】:
标签: c++ data-structures stack