建立含有若干个元素的顺序栈 对已建立的顺序栈实现插入,删除,取栈顶元素等基本操

 我来答
Mathilda64
2013-05-07 · 超过17用户采纳过TA的回答
知道答主
回答量:46
采纳率:0%
帮助的人:48.7万
展开全部
#include <iostream>
using namespace std;
typedef int T;
//用数组实现简单的栈
class Stack{
T data[10];
int sz;
public:
Stack():sz(){}
//入栈
void push(const T& d)
throw(const char*){
if(sz==10)throw "full";
data[sz++] = d;
}
//出栈
void pop()throw(const char*){
if(sz==0)throw "empty";
sz--;
}
//查看栈顶元素
T top()const throw(const char*){
if(sz==0)throw "empty";
return data[sz-1];
}
//返回栈大小
int size()const{ return sz;}
//栈是否为空
bool empty()const{ return sz==0;}
};
int main()
{
Stack s;
s.push(100);
s.push(200);
s.push(300);
s.push(400);
/*
for(int i=0; i<10; i++){
s.push(i);
}
*/
cout << s.size() << endl;
//元素出栈并打印出栈顺序
while(!s.empty()){
cout << s.top() << ' ';
s.pop();
}
cout << endl;
cout << s.size() << endl;
}
追问
运行结果是“Press any key to continue”
追答
Stack():sz(){}
改为Stack:sz(0){}
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式