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

发布网友 发布时间:2022-04-24 09:29

我来回答

1个回答

热心网友 时间:2023-10-09 11:15

#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){}

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com