建立含有若干个元素的顺序栈 对已建立的顺序栈实现插入,删除,取栈顶元素等基本操
展开全部
#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;
}
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){}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询